Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Pertemuan 9 Stack dengan Linked-list

Presentasi serupa


Presentasi berjudul: "Pertemuan 9 Stack dengan Linked-list"— Transcript presentasi:

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

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

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

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

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

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;

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 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 STACK Linked List Linked List
Keuntungannya dibandingkan dg array adalah alokasi memory yg dinamis Contoh Implementasi Stack dengan Linked List menggunakan bahasa C #include <stdio.h> #include <malloc.h> 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); }

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 ) *e = HEAD->Data; P=HEAD; Head=HEAD->Next; free(P); } void CLEAR() { ElemenType X; while(!EMPTY()) POP(&X); }


Download ppt "Pertemuan 9 Stack dengan Linked-list"

Presentasi serupa


Iklan oleh Google