Defri Kurniawan defri.kurniawan@dsn.dinus.ac.id STACK DENGAN LIST Defri Kurniawan defri.kurniawan@dsn.dinus.ac.id.

Slides:



Advertisements
Presentasi serupa
Queue (Antrian).
Advertisements

STRUKTUR DATA (7) single linked list circular
STRUKTUR DATA (8.1) double linked list non circular
bentuknya, yang dapat berubah pada saat runtime.
Pertemuan 2 STRUKTUR DATA LINKED LIST
QUEUE II. IMPLEMENTASI QUEUE
LINKED LIST Single Linked List.
LINKED LIST.
Pertemuan 5 STACK atau TUMPUKAN IMAM SIBRO MALISI NIM :
Queue.
Algoritma dan Struktur Data
STRUKTUR DATA version STMIK AMIKOM YOGYAKARTA
STACK.
Pointer dalam Stack.
STACK.
Queue.
STACK.
Algoritma & Struktur Data Linked List Evangs Mailoa.
Algorithm and Data Structures.
Algoritma dan Struktur Data
Matakuliah : T0534/Struktur Data Tahun : 2005 Versi : September 2005
Struktur Data (Data Structure) – IS 2313
Apakah Stack itu ?. Apakah Stack itu ? Pengertian STACK Secara sederhana diartikan dengan : sebagai tumpukan dari benda sekumpulan data yang seolah-olah.
STRUKTUR DATA QUEUE.
Pertemuan 8 Stack dengan Array
Pertemuan 9 Stack dengan Linked-list
Universitas Budi Luhur
4. Linked List (List Linier)
Stack.
Sapta Candra Miarsa,S.T.,M.T.
Single Linked List.
STACK Anifuddin Azis.
Defri Kurniawan ADT STACK Defri Kurniawan
STRUKTUR DATA QUIZ.
Stack Stack atau tumpukan adalah suatu stuktur data yang penting dalam pemrograman Bersifat LIFO (Last In First Out) Benda yang terakhir masuk ke dalam.
Matakuliah : T0534/Struktur Data Tahun : 2005 Versi : September 2005
Defri Kurniawan QUEUE Defri Kurniawan
STACK Denny Agustiawan,M.pd
Struktur Organisasi Data 2
STACK 6.3 & 7.3 NESTED LOOP.
STACK (Tumpukan).
STRUKTUR DATA : STACK Sri marini.st.
Algoritma dan Struktur Data
Struktur Data Khoiriya Latifa, M.Kom.
2. Stack (Tumpukan) 2.1. Definisi
Stack (Tumpukan).
Algoritma dan Struktur Data
STACK / TUMPUKAN Struktur Data.
Stack.
Algoritme dan Stuktur Data
Stack.
STACK HARJANTO SUTEDJO.
Algoritma dan Struktur Data
STRUKTUR DATA version STMIK AMIKOM YOGYAKARTA
QUEUE (ANTRIAN) Queue atau antrian didefinisikan sebagai kumpulan dari obyek-obyek yang homogen dengan operasi penambahan elemen (Enqueue) dan pengambilan.
STACK (TUMPUKAN) Stack atau tumpukan didefinisikan sebagai kumpulan dari obyek-obyek yang homogen dengan operasi penambahan dan pengambilan elemen melalui.
STRUKTUR DATA Stack atau Tumpukan.
Defri Kurniawan VARIASI LIST Defri Kurniawan
Double STACK 6.3 & 7.3 NESTED LOOP.
STACK.
Algoritma dan Struktur Data
Kode MK/ Pemrograman Terstruktur 2
Algoritma dan Struktur Data
BAB 3 STACK (TUMPUKAN).
QUEUE (Antrian).
Struktur Data Linear Created by Fifth Group, S3B TI Anggota
Defri Kurniawan DOUBLE LINKED LIST Defri Kurniawan
SINGLE LINKED LIST (SLL)
Stack dan Queue dengan Respresentasi Linked List
Defri Kurniawan ADT STACK Defri Kurniawan
Transcript presentasi:

Defri Kurniawan defri.kurniawan@dsn.dinus.ac.id STACK DENGAN LIST Defri Kurniawan defri.kurniawan@dsn.dinus.ac.id

Definisi header #define true 1 #define false 0 #define boolean unsigned char #define Nil NULL #define MaxEl 10 typedef int infotype; typedef struct tElmtStack *address;

Definisi header (lanjutan) typedef struct tElmtStack { infotype info; address next; } ElmtStack; typedef struct { address TOP; } Stack; #define Info(P) (P)->info #define Next(P) (P)->next #define TOP(S) (S).TOP

Operasi-operasi StackList void CreateStack(Stack *S) { TOP(*S) = Nil; } boolean IsEmpty(Stack S) { return (TOP(S)==Nil); boolean IsFull(Stack S) { return (NbElmt(S)==MaxEl);

Alokasi & Dealokasi address Alokasi(infotype X) { address P; P = (address)malloc(sizeof(ElmtStack)); if(P!=Nil) { Info(P) = X; Next(P) = Nil; } else { P = Nil; } return P; void Dealokasi(address *P) { free(*P);

Latihan Jika IsEmpty() adalah fungsi pengecekkan Stack kosong, IsFull() adalah fungsi pengecekkan Stack penuh. Dan alokasi(x) adalah prosedur untuk pemesanan ukuran memori beralamat P serta pemberian nilai X bertipe infotype dan elemen Next bernilai Nil (Null). Maka buatlah prosedur penambahan/push() dengan 3 (tiga) kondisi jika IsEmpty(), IsFull dan selain kedua kondisi tersebut (else)! Benar point 10, Mendekati point 5

Operasi Push void Push(Stack *S, infotype X) { address P; P = Alokasi(X); if(IsEmpty(*S)) { TOP(*S) = P; }else if(IsFull(*S)) { print("Stack Full\n"); }else { Next(P) = TOP(*S); }

Latihan Jika IsEmpty() adalah fungsi pengecekkan Stack kosong, dan dealokasi(x) adalah prosedur untuk pembebasan elemen Stack pada memori beralamat P. Maka buatlah prosedur penghapusan / pop() dengan menyertakan pengecekkan IsEmpty() dan prosedur dealokasi()! Benar point 10, Mendekati point 5

Operasi Pop void Pop(Stack *S, infotype *X) { address P; if(IsEmpty(*S)) { printf("Stack kosong\n"); } else { P = TOP(*S); *X = Info(P); if(Next(P)==Nil) { TOP(*S) = Nil; TOP(*S) = Next(TOP(*S)); } Next(P) = Nil; Dealokasi(&P);

TERIMA KASIH