Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

1 Pertemuan 9 Stack dengan Linked-list Matakuliah: T0026/Struktur Data Tahun: 2005 Versi: 1/1.

Presentasi serupa


Presentasi berjudul: "1 Pertemuan 9 Stack dengan Linked-list Matakuliah: T0026/Struktur Data Tahun: 2005 Versi: 1/1."— Transcript presentasi:

1 1 Pertemuan 9 Stack dengan Linked-list Matakuliah: T0026/Struktur Data Tahun: 2005 Versi: 1/1

2 2 Learning Outcomes Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu : Mahasiswa dapat menghasilkan program modular ADT stack yang diimplementasikan dengan linked list

3 3 Outline Materi Pengertian dan kegunaan implementasi stack linked-list operasi stack linked list contoh program stack linked list

4 4 struct stack { int ip; stack *link; }; Implementasi Stack dengan Single Linked-list top NULL

5 5 Contoh STACK LL CREATE( ) HEAD NULL PUSH( 50 ) 50 HEAD NULL P PUSH( 30 ) 30 HEAD P 50 NULL PUSH( 80 ) 80 HEAD P NULL POP( *e ) 30 HEAD 50 NULL CLEAR( ) HEAD NULL

6 6 void addstack (stack **top, int item) { stack *temp; temp = (struct stack *) malloc …; temp->ip = item; if (*top==NULL) { *top = temp; temp->link = NULL; } else { temp->link = *top; *top = temp; }

7 7 int deletestack (stack **top) { int item; stack *temp; if (*top==NULL) { printf ("stack empty\n"); exit(1); } temp = *top; *top = temp->link; item = temp->ip; free(temp); return item; }

8 8 void main() { … //Untuk insert stack : for (i=0; i<5; i++) { printf("nilai: "); scanf("%d",&nilai); addstack (&top, nilai); } //Untuk delete stack : nilai = deletestack (&top); … }

9 9 Linked List Keuntungannya dibandingkan dg array adalah alokasi memory yg dinamis Contoh Implementasi Stack dengan Linked List menggunakan bahasa C #include typedef int ElemenType; //misal data yg disimpan bertipe integer struct NODE{ ElemenType Data; struct NODE *Next; } *HEAD; struct Node *Head; void CREATE() {HEAD = NULL; } int EMPTY() {if(HEAD == NULL) return(1); else return(0); } STACK Linked List

10 10 Implementasi STACK LL void PUSH( ElemenType e ) {struct NODE *P; P=(struct NODE *)malloc(sizeof(struct NODE)); P->Data=e; P->Next = HEAD; HEAD = P; } void POP( ElemenType *e ) {struct NODE *P; *e = HEAD->Data; P=HEAD; Head=HEAD->Next; free(P); } void CLEAR() {ElemenType X; while(!EMPTY()) POP(&X); }


Download ppt "1 Pertemuan 9 Stack dengan Linked-list Matakuliah: T0026/Struktur Data Tahun: 2005 Versi: 1/1."

Presentasi serupa


Iklan oleh Google