SlideShare une entreprise Scribd logo
1  sur  33
Télécharger pour lire hors ligne
Fungsi rekursif, queue, stack
• Fungsi rekursif --> suatu fungsi yang memanggil dirinya
sendiri
• Fungsi tersebut dipanggil di dalam tubuh fungsi itu sendiri
• Sangat berguna bila diimplementasikan untuk pekerjaan
pengurutan data atau menghitung nilai factorial suatu
bilangan.
#include<iostream.h>
#include<conio.h>
long factorial (long a)
{
if (a>1)
return (a* factorial (a-1));
else
return (1);
}
int main()
{
long l;
cout<<”tuliskan bilangan : ”;
cin>>l;
cout<<”!”<<l<<” = “<<factorial(l);
return 0;
}
• Queue = antrian
• Data yang pertama masuk dalam antrian, akan keluar
terlebih dahulu.
• Jenis-jenis Queue :
• Linear Queue
• Double Ended Queue (Dequeue)
• Waiting list – birokrasi.
• Simulasi sistem antrian.
• Antrian printer jobs.
• Antrian proses multitasking dalam CPU.
• Antrian playlist winamp.
• Ilustrasi Antrian Lurus
Q[10]
0 1 2
x x
3 4
x x
5 6 7 8 9
F R
3
F X
6
R
Keterangan :
F = Front (depan)
R = Rear (belakang)
F menunjuk pengantri paling depan, yaitu pengantri yg
siap dilayani.
R menunjuk pengantri paling belakang, yaitu pengantri yg
paling terakhir masuk.
• Prinsip /Konsep Proses :
• FIFO(First In First Out)
• FIFS (First In First Serve)
• Proses :
a. AWAL (Inisialisasi)
b. INSERT (Sisip, Masuk, Simpan, Tulis)
c. DELETE (Hapus, Keluar, Ambil/Dilayani)
d. RESET (Kembali ke AWAL)
Kondisi Antrian Ciri
a.
b.
c.
d.
e.
KOSONG
PENUH
BISA DIISI
ADA ISINYA
PERLU DIRESET
F = R + 1 dimana saja
R = n – 1
R < n – 1
F < R + 1
F = R + 1 dan R = n - 1
• Periksa apakah Antrian BISA DIISI
if ( R < n – 1)
{
R = R + 1;
Q[R] = x;
}
else
cout<<“Antrian Penuh”;
• Periksa apakah Antrian ADA ISINYA
if ( F < R + 1)
{
x = Q[F];
F = F + 1;
if ((F=R+1) && (R=n-1))
{ F = 0;
R = -1; }
}
else
cout<<“Antrian Kosong”;
• Ilustrasi Deque (Antrian dengan Ujung Ganda)
Q[10]
0 1 2
x x
3 4
x x
5 6 7 8 9
L R
Keterangan :
L = Left (kiri)
R = Right (kanan)
L menunjuk pengantri yg terakhir masuk di sebelah kiri
dan siap dilayani.
R menunjuk pengantri yg terakhir masuk di sebelah
kanan dan siap dilayani.
Insert Kiri
Delete Kiri
Insert Kanan
Delete Kanan
• Prinsip /Konsep Proses :
• bukan FIFO, bukan juga LIFO, tergantung
kesempatan yang ada.
• Proses :
a. AWAL (Inisialisasi)
b. INSERT (Sisip, Masuk, Simpan, Tulis)
c. DELETE (Hapus, Keluar, Ambil/Dilayani)
Kondisi Antrian Ciri
a.
b.
c.
d.
e.
f.
KOSONG
PENUH KIRI
PENUH KANAN
BISA DIISI DARI KIRI
BISA DIISI DARI KANAN
ADA ISINYA
L = R + 1 dimana saja
L = 0
R = n – 1
L > 0
R < n – 1
L < R + 1
• Periksa apakah Deque BISA DIISI DARI KIRI
void INSERT_KIRI()
{ if ( L > 0)
{
L = L - 1;
Q[L] = x;
}
else
cout<<“Antrian Kiri Penuh”;
}
• Periksa apakah Deque BISA DIISI DARI KANAN
void INSERT_KANAN()
{ if ( R < n - 1)
{
R = R + 1;
Q[R] = x;
}
else
cout<<“Antrian Kanan Penuh”;
}
• Periksa apakah Deque ADA ISINYA
void DELETE_KIRI()
{ if (L < R + 1)
{
x = Q[L];
L = L + 1;
}
else
cout<<“Antrian Kosong”;
}
• Periksa apakah Deque ADA ISINYA
void DELETE_KANAN()
{ if (L < R + 1)
{
x = Q[R];
R = R - 1;
}
else
cout<<“Antrian Kosong”;
}
• Kumpulan item yang teratur dimana item baru
akan diletakkan dan dikeluarkan dari satu ujung
yang sama, yaitu dari TOP sebuah stack.
• Struktur data linier dimana hanya bagian TOP-
nya saja yang bisa diakses.
• Bersifat LIFO = Last In First Out.
• Bisa diimplementasikan menggunakan array
atau Linked List.
Last In First Out
• History pada web browser.
• Undo Log pada text editor.
• Pemrosesan struktur bersarang (nested) : loop, rekursi,
fungsi, dll.
• Algoritma back tracking – Artificial Intelegence
• Push : meletakkan sebuah item baru ke dalam stack.
• Pop : mengeluarkan sebuah item dari stack.
• Operasi lain : Is_Empty, Is_Full
Note : pop dan push dilakukan melalui ujung yang sama
(TOP)
X
A
E
X
A
B
X
A
TOP
remove:
“POP”
TOP
insert ‘B’:
PUSH ‘B’
TOP
D
K
D
K
P
D
K
P
O
D
K
P
D
K
D D
T
D
T
R
D
T
R
W
D
T
R
W
Y
a b c d e f g h i j
#define maxsize 100
// mendefinisikan maks ukuran data
// dlm stack
typedef struct {
int top; // indeks TOP
charitems [ maxsize ] // array
} stack;
// nama tipe data baru yg dibuat
// adalah stack
• void initialize ( stack *s)
• void pop ( stack *s, char *x )
• void push ( stack *s, char x )
• void show ( stack *s )
void initialize ( stack *s)
// operasi initialize dg parameter
// s bertipe pointer stack
{ s -> top = -1;
// top = -1  stack dlm kondisi empty
}
void push ( stack *s, char x )
{
if (s->top >= (maxsize-1)) //stack is full
printf("nERROR: the stack is full!");
else {
s->top = s->top + 1;
s->items [ s->top ] = x;
printf("nPUSH SUCCEED");
}
}
void pop ( stack *s, char *x )
{
if (s->top < 0) // stack is empty
printf("nERROR: the stack is empty!");
else {
*x = (s->items [ s->top ]);
s->top = s->top - 1;
printf("nPOP SUCCEED");
}
}
void show( stack *s )
{
printf("nISI STACK :n");
for(int i=s->top; i>=0; i--)
printf("t%cn", s->items[i]);
printf("n");
}
void main()
{
stack *my_stack, s;
char item, *x;
my_stack = &s;
x = &item;
initialize(my_stack);
push(my_stack, 'A'); push(my_stack, 'R');
push(my_stack, 'I'); push(my_stack, 'F');
show(my_stack);
pop(my_stack, x); pop(my_stack, x);
show(my_stack);
pop(my_stack, x); pop(my_stack, x);
show(my_stack);
}
Fungsi rekursif, queue, stack
• Jika sebuah linked list SELALU menambahkan node
baru dan menghapus node lama dari salah SATU
ujungnya saja (posisi Head ataukah Tail)  STACK.
• TOP = head untuk single linked list.
• TOP = tail untuk double linked list.
• HOW?
Fungsi rekursif, queue, stack
Fungsi rekursif, queue, stack

Contenu connexe

Tendances

Menyederhanakan fungsi boolean dengan menggunakan metode quin1
Menyederhanakan fungsi boolean dengan menggunakan metode quin1Menyederhanakan fungsi boolean dengan menggunakan metode quin1
Menyederhanakan fungsi boolean dengan menggunakan metode quin1BAIDILAH Baidilah
 
Pertemuan 2-pemecahan-masalah-ai
Pertemuan 2-pemecahan-masalah-aiPertemuan 2-pemecahan-masalah-ai
Pertemuan 2-pemecahan-masalah-aiwillyhayon
 
Pertemuan 2 - Digital Image Processing - Image Enhancement - Citra Digital
Pertemuan 2 - Digital Image Processing - Image Enhancement - Citra DigitalPertemuan 2 - Digital Image Processing - Image Enhancement - Citra Digital
Pertemuan 2 - Digital Image Processing - Image Enhancement - Citra Digitalahmad haidaroh
 
Metode enkripsi caesar cipher
Metode enkripsi caesar cipherMetode enkripsi caesar cipher
Metode enkripsi caesar cipherBobby Chandra
 
Kumpulan Soal Jawab Teori Ekonomi Mikro
Kumpulan Soal Jawab Teori Ekonomi MikroKumpulan Soal Jawab Teori Ekonomi Mikro
Kumpulan Soal Jawab Teori Ekonomi Mikrorizkadewi14
 
6 Algoritma Pengurutan Data
6 Algoritma Pengurutan Data6 Algoritma Pengurutan Data
6 Algoritma Pengurutan DataSimon Patabang
 
7. Queue (Struktur Data)
7. Queue (Struktur Data)7. Queue (Struktur Data)
7. Queue (Struktur Data)Kelinci Coklat
 
Jawaban uas Perancis
Jawaban uas PerancisJawaban uas Perancis
Jawaban uas Perancislonklonk
 
Arsitektur komputer von neumann
Arsitektur komputer von neumannArsitektur komputer von neumann
Arsitektur komputer von neumannMochammed Safri
 
Analisis dan penyajian data
Analisis dan penyajian dataAnalisis dan penyajian data
Analisis dan penyajian dataKacung Abdullah
 
Perbandingan algoritma brute force , divide and conquer
Perbandingan algoritma brute force , divide and conquerPerbandingan algoritma brute force , divide and conquer
Perbandingan algoritma brute force , divide and conquerohohervin
 

Tendances (20)

Menyederhanakan fungsi boolean dengan menggunakan metode quin1
Menyederhanakan fungsi boolean dengan menggunakan metode quin1Menyederhanakan fungsi boolean dengan menggunakan metode quin1
Menyederhanakan fungsi boolean dengan menggunakan metode quin1
 
Pertemuan 2-pemecahan-masalah-ai
Pertemuan 2-pemecahan-masalah-aiPertemuan 2-pemecahan-masalah-ai
Pertemuan 2-pemecahan-masalah-ai
 
Pertemuan 2 - Digital Image Processing - Image Enhancement - Citra Digital
Pertemuan 2 - Digital Image Processing - Image Enhancement - Citra DigitalPertemuan 2 - Digital Image Processing - Image Enhancement - Citra Digital
Pertemuan 2 - Digital Image Processing - Image Enhancement - Citra Digital
 
Metode enkripsi caesar cipher
Metode enkripsi caesar cipherMetode enkripsi caesar cipher
Metode enkripsi caesar cipher
 
Kumpulan Soal Jawab Teori Ekonomi Mikro
Kumpulan Soal Jawab Teori Ekonomi MikroKumpulan Soal Jawab Teori Ekonomi Mikro
Kumpulan Soal Jawab Teori Ekonomi Mikro
 
Jawaban Struktur data soal-latihan
Jawaban Struktur data soal-latihanJawaban Struktur data soal-latihan
Jawaban Struktur data soal-latihan
 
Surplus Produsen dan Surplus Konsumen
Surplus Produsen dan Surplus KonsumenSurplus Produsen dan Surplus Konsumen
Surplus Produsen dan Surplus Konsumen
 
8 tablo semantik
8   tablo semantik8   tablo semantik
8 tablo semantik
 
Sorting ppt
Sorting ppt Sorting ppt
Sorting ppt
 
6 Algoritma Pengurutan Data
6 Algoritma Pengurutan Data6 Algoritma Pengurutan Data
6 Algoritma Pengurutan Data
 
7. Queue (Struktur Data)
7. Queue (Struktur Data)7. Queue (Struktur Data)
7. Queue (Struktur Data)
 
Jawaban uas Perancis
Jawaban uas PerancisJawaban uas Perancis
Jawaban uas Perancis
 
Arsitektur komputer von neumann
Arsitektur komputer von neumannArsitektur komputer von neumann
Arsitektur komputer von neumann
 
Graf
GrafGraf
Graf
 
Struktur data
Struktur dataStruktur data
Struktur data
 
Analisis dan penyajian data
Analisis dan penyajian dataAnalisis dan penyajian data
Analisis dan penyajian data
 
Tugas2 -metode searching ai
Tugas2 -metode searching aiTugas2 -metode searching ai
Tugas2 -metode searching ai
 
Teori produksi
Teori produksiTeori produksi
Teori produksi
 
Perbandingan algoritma brute force , divide and conquer
Perbandingan algoritma brute force , divide and conquerPerbandingan algoritma brute force , divide and conquer
Perbandingan algoritma brute force , divide and conquer
 
4 penerimaan total dan fungsi produksi
4 penerimaan total dan fungsi produksi4 penerimaan total dan fungsi produksi
4 penerimaan total dan fungsi produksi
 

Similaire à Fungsi rekursif, queue, stack

Bab 3 stack (tumpukan)
Bab 3 stack (tumpukan)Bab 3 stack (tumpukan)
Bab 3 stack (tumpukan)Fahuda E
 
Slide minggu 2 pertemuan 2 (struktur data1)
Slide minggu 2 pertemuan 2 (struktur data1)Slide minggu 2 pertemuan 2 (struktur data1)
Slide minggu 2 pertemuan 2 (struktur data1)Setia Juli Irzal Ismail
 
Stack tumpukan
Stack tumpukan Stack tumpukan
Stack tumpukan biedoen
 
Ketoprak_PPT ADT Stack dan Queue.pptx
Ketoprak_PPT ADT Stack dan Queue.pptxKetoprak_PPT ADT Stack dan Queue.pptx
Ketoprak_PPT ADT Stack dan Queue.pptxputii1
 
Algorithms and Data Structures
 Algorithms and Data Structures Algorithms and Data Structures
Algorithms and Data StructuresNoval C. Kesuma
 
Algoritma dan Struktur Data - Queue
Algoritma dan Struktur Data - QueueAlgoritma dan Struktur Data - Queue
Algoritma dan Struktur Data - QueueKuliahKita
 
Algoritma dan Struktur Data - Antrian
Algoritma dan Struktur Data - AntrianAlgoritma dan Struktur Data - Antrian
Algoritma dan Struktur Data - AntrianKuliahKita
 
Algoritma dan Struktur Data - antrian
Algoritma dan Struktur Data - antrianAlgoritma dan Struktur Data - antrian
Algoritma dan Struktur Data - antrianGeorgius Rinaldo
 
Bab 4 stack (tumpukan)
Bab 4 stack (tumpukan)Bab 4 stack (tumpukan)
Bab 4 stack (tumpukan)Fahuda E
 
Function
FunctionFunction
Functionwindi1
 

Similaire à Fungsi rekursif, queue, stack (20)

TI-struktur_data-stack_n_queue
TI-struktur_data-stack_n_queueTI-struktur_data-stack_n_queue
TI-struktur_data-stack_n_queue
 
Bab 3 stack (tumpukan)
Bab 3 stack (tumpukan)Bab 3 stack (tumpukan)
Bab 3 stack (tumpukan)
 
Slide minggu 2 pertemuan 2 (struktur data1)
Slide minggu 2 pertemuan 2 (struktur data1)Slide minggu 2 pertemuan 2 (struktur data1)
Slide minggu 2 pertemuan 2 (struktur data1)
 
Stack tumpukan
Stack tumpukan Stack tumpukan
Stack tumpukan
 
Stack tumpukan
Stack tumpukan Stack tumpukan
Stack tumpukan
 
Ketoprak_PPT ADT Stack dan Queue.pptx
Ketoprak_PPT ADT Stack dan Queue.pptxKetoprak_PPT ADT Stack dan Queue.pptx
Ketoprak_PPT ADT Stack dan Queue.pptx
 
Algorithms and Data Structures
 Algorithms and Data Structures Algorithms and Data Structures
Algorithms and Data Structures
 
Resume praktikum 6 stack
Resume praktikum 6 stackResume praktikum 6 stack
Resume praktikum 6 stack
 
Algoritma dan Struktur Data - Queue
Algoritma dan Struktur Data - QueueAlgoritma dan Struktur Data - Queue
Algoritma dan Struktur Data - Queue
 
Algoritma dan Struktur Data - Antrian
Algoritma dan Struktur Data - AntrianAlgoritma dan Struktur Data - Antrian
Algoritma dan Struktur Data - Antrian
 
Algoritma dan Struktur Data - antrian
Algoritma dan Struktur Data - antrianAlgoritma dan Struktur Data - antrian
Algoritma dan Struktur Data - antrian
 
Bab 4 stack (tumpukan)
Bab 4 stack (tumpukan)Bab 4 stack (tumpukan)
Bab 4 stack (tumpukan)
 
Stack atau tumpukan
Stack atau tumpukanStack atau tumpukan
Stack atau tumpukan
 
5 STACK
5 STACK5 STACK
5 STACK
 
Bab viii stack
Bab viii   stackBab viii   stack
Bab viii stack
 
Queue
QueueQueue
Queue
 
2894065
28940652894065
2894065
 
Stack_Queue.pdf
Stack_Queue.pdfStack_Queue.pdf
Stack_Queue.pdf
 
Pertemuan II Function
Pertemuan II FunctionPertemuan II Function
Pertemuan II Function
 
Function
FunctionFunction
Function
 

Plus de Icha Dicaprio

Plus de Icha Dicaprio (8)

Oop
OopOop
Oop
 
Efisiensi algoritma
Efisiensi algoritmaEfisiensi algoritma
Efisiensi algoritma
 
Pengenalan algoritma
Pengenalan algoritmaPengenalan algoritma
Pengenalan algoritma
 
Algoritma Matriks
Algoritma MatriksAlgoritma Matriks
Algoritma Matriks
 
Array satu-dimensi
Array satu-dimensiArray satu-dimensi
Array satu-dimensi
 
Array
ArrayArray
Array
 
Struktur Kontrol
Struktur KontrolStruktur Kontrol
Struktur Kontrol
 
4 variabel konstanta-tipe-data
4 variabel konstanta-tipe-data4 variabel konstanta-tipe-data
4 variabel konstanta-tipe-data
 

Fungsi rekursif, queue, stack

  • 2. • Fungsi rekursif --> suatu fungsi yang memanggil dirinya sendiri • Fungsi tersebut dipanggil di dalam tubuh fungsi itu sendiri • Sangat berguna bila diimplementasikan untuk pekerjaan pengurutan data atau menghitung nilai factorial suatu bilangan.
  • 3. #include<iostream.h> #include<conio.h> long factorial (long a) { if (a>1) return (a* factorial (a-1)); else return (1); } int main() { long l; cout<<”tuliskan bilangan : ”; cin>>l; cout<<”!”<<l<<” = “<<factorial(l); return 0; }
  • 4. • Queue = antrian • Data yang pertama masuk dalam antrian, akan keluar terlebih dahulu. • Jenis-jenis Queue : • Linear Queue • Double Ended Queue (Dequeue)
  • 5. • Waiting list – birokrasi. • Simulasi sistem antrian. • Antrian printer jobs. • Antrian proses multitasking dalam CPU. • Antrian playlist winamp.
  • 6. • Ilustrasi Antrian Lurus Q[10] 0 1 2 x x 3 4 x x 5 6 7 8 9 F R 3 F X 6 R Keterangan : F = Front (depan) R = Rear (belakang) F menunjuk pengantri paling depan, yaitu pengantri yg siap dilayani. R menunjuk pengantri paling belakang, yaitu pengantri yg paling terakhir masuk.
  • 7. • Prinsip /Konsep Proses : • FIFO(First In First Out) • FIFS (First In First Serve) • Proses : a. AWAL (Inisialisasi) b. INSERT (Sisip, Masuk, Simpan, Tulis) c. DELETE (Hapus, Keluar, Ambil/Dilayani) d. RESET (Kembali ke AWAL)
  • 8. Kondisi Antrian Ciri a. b. c. d. e. KOSONG PENUH BISA DIISI ADA ISINYA PERLU DIRESET F = R + 1 dimana saja R = n – 1 R < n – 1 F < R + 1 F = R + 1 dan R = n - 1
  • 9. • Periksa apakah Antrian BISA DIISI if ( R < n – 1) { R = R + 1; Q[R] = x; } else cout<<“Antrian Penuh”;
  • 10. • Periksa apakah Antrian ADA ISINYA if ( F < R + 1) { x = Q[F]; F = F + 1; if ((F=R+1) && (R=n-1)) { F = 0; R = -1; } } else cout<<“Antrian Kosong”;
  • 11. • Ilustrasi Deque (Antrian dengan Ujung Ganda) Q[10] 0 1 2 x x 3 4 x x 5 6 7 8 9 L R Keterangan : L = Left (kiri) R = Right (kanan) L menunjuk pengantri yg terakhir masuk di sebelah kiri dan siap dilayani. R menunjuk pengantri yg terakhir masuk di sebelah kanan dan siap dilayani. Insert Kiri Delete Kiri Insert Kanan Delete Kanan
  • 12. • Prinsip /Konsep Proses : • bukan FIFO, bukan juga LIFO, tergantung kesempatan yang ada. • Proses : a. AWAL (Inisialisasi) b. INSERT (Sisip, Masuk, Simpan, Tulis) c. DELETE (Hapus, Keluar, Ambil/Dilayani)
  • 13. Kondisi Antrian Ciri a. b. c. d. e. f. KOSONG PENUH KIRI PENUH KANAN BISA DIISI DARI KIRI BISA DIISI DARI KANAN ADA ISINYA L = R + 1 dimana saja L = 0 R = n – 1 L > 0 R < n – 1 L < R + 1
  • 14. • Periksa apakah Deque BISA DIISI DARI KIRI void INSERT_KIRI() { if ( L > 0) { L = L - 1; Q[L] = x; } else cout<<“Antrian Kiri Penuh”; }
  • 15. • Periksa apakah Deque BISA DIISI DARI KANAN void INSERT_KANAN() { if ( R < n - 1) { R = R + 1; Q[R] = x; } else cout<<“Antrian Kanan Penuh”; }
  • 16. • Periksa apakah Deque ADA ISINYA void DELETE_KIRI() { if (L < R + 1) { x = Q[L]; L = L + 1; } else cout<<“Antrian Kosong”; }
  • 17. • Periksa apakah Deque ADA ISINYA void DELETE_KANAN() { if (L < R + 1) { x = Q[R]; R = R - 1; } else cout<<“Antrian Kosong”; }
  • 18. • Kumpulan item yang teratur dimana item baru akan diletakkan dan dikeluarkan dari satu ujung yang sama, yaitu dari TOP sebuah stack. • Struktur data linier dimana hanya bagian TOP- nya saja yang bisa diakses. • Bersifat LIFO = Last In First Out. • Bisa diimplementasikan menggunakan array atau Linked List.
  • 20. • History pada web browser. • Undo Log pada text editor. • Pemrosesan struktur bersarang (nested) : loop, rekursi, fungsi, dll. • Algoritma back tracking – Artificial Intelegence
  • 21. • Push : meletakkan sebuah item baru ke dalam stack. • Pop : mengeluarkan sebuah item dari stack. • Operasi lain : Is_Empty, Is_Full Note : pop dan push dilakukan melalui ujung yang sama (TOP)
  • 23. #define maxsize 100 // mendefinisikan maks ukuran data // dlm stack typedef struct { int top; // indeks TOP charitems [ maxsize ] // array } stack; // nama tipe data baru yg dibuat // adalah stack
  • 24. • void initialize ( stack *s) • void pop ( stack *s, char *x ) • void push ( stack *s, char x ) • void show ( stack *s )
  • 25. void initialize ( stack *s) // operasi initialize dg parameter // s bertipe pointer stack { s -> top = -1; // top = -1  stack dlm kondisi empty }
  • 26. void push ( stack *s, char x ) { if (s->top >= (maxsize-1)) //stack is full printf("nERROR: the stack is full!"); else { s->top = s->top + 1; s->items [ s->top ] = x; printf("nPUSH SUCCEED"); } }
  • 27. void pop ( stack *s, char *x ) { if (s->top < 0) // stack is empty printf("nERROR: the stack is empty!"); else { *x = (s->items [ s->top ]); s->top = s->top - 1; printf("nPOP SUCCEED"); } }
  • 28. void show( stack *s ) { printf("nISI STACK :n"); for(int i=s->top; i>=0; i--) printf("t%cn", s->items[i]); printf("n"); }
  • 29. void main() { stack *my_stack, s; char item, *x; my_stack = &s; x = &item; initialize(my_stack); push(my_stack, 'A'); push(my_stack, 'R'); push(my_stack, 'I'); push(my_stack, 'F'); show(my_stack); pop(my_stack, x); pop(my_stack, x); show(my_stack); pop(my_stack, x); pop(my_stack, x); show(my_stack); }
  • 31. • Jika sebuah linked list SELALU menambahkan node baru dan menghapus node lama dari salah SATU ujungnya saja (posisi Head ataukah Tail)  STACK. • TOP = head untuk single linked list. • TOP = tail untuk double linked list. • HOW?