IF2030_Proc_05_Stack

Is s mungkin kosong tabel penampung elemen stack

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: : Stack, input X : infotype) { Menambahkan X sebagai elemen Stack S. I.S. S mungkin kosong, tabel penampung elemen stack TIDAK penuh mungkin kosong tabel penampung elemen stack TIDAK penuh F.S. X menjadi TOP yang baru,TOP bertambah 1 } Kamus Lokal Algoritma TOP(S) ← TOP(S) + 1 InfoTOP(S) ← X procedure Pop (input/output S : Stack, output X : infotype) Stack output infotype) { Menghapus X dari Stack S. I.S. S tidak mungkin kosong F.S. X adalah nilai elemen TOP yang lama, TOP berkurang 1 } Kamus Lokal Lokal Algoritma X ← InfoTOP(S) TOP(S) ← TOP(S) - 1 13-Okt-2011 YA/IF2030 12 ADT Stack dalam Bahasa ADT Stack dalam Bahasa C 13-Okt-2011 YA/IF2030 13 ADT Stack dalam Bahasa C (dengan array eksplisit-statik) /* File : stackt.h */ /* Implementasi Stack dalam bahasa C dengan alokasi statik */ St */ #ifndef stackt_H #define stackt_H #include "boolean.h" #define Nil 0 /* Nil adalah stack dengan elemen kosong */ Nil Nil */ #define MaxEl 10 typedef int infotype; typedef int address; /* indeks tabel */ /* */ /* Versi I : dengan menyimpan tabel dan alamat top secara eksplisit */ typedef struct { infotype T[MaxEl+1]; /* tabel penyimpan elemen */ address TOP; /* alamat TOP: elemen puncak */ } Stack; St /* Definisi akses dengan Selektor : */ #define Top(S) (S).TOP #define InfoTop(S) (S).T[(S).TOP] (S) 13-Okt-2011 YA/IF2030 14 ADT Stack dalam Bahasa C (dengan array eksplisit-statik) /*** Konstruktor/Kreator ***/ void CreateEmpty(Stack *S); /* I.S. Sembarang */ /* F.S. Membuat sebuah stack S yang kosong berkapasitas MaxEl */ /* jadi indeksnya antara 1..MaxEl karena 0 tidak dipakai */ /* Ciri stack kosong : TOP bernilai Nil */ /********** Predikat Untuk test keadaan KOLEKSI **********/ Predikat Untuk test keadaan KOLEKSI **********/ boolean IsEmpty (Stack S); /* Mengirim true jika Stack kosong: lihat definisi di atas */ boolean IsFull(Stack S); /* Mengirim true jika tabel penampung nilai elemen stack penuh */ /*********** Menambahkan sebuah elemen ke Stack **********/ void Push (Stack *S, infotype X); /* Menambahkan X sebagai elemen Stack...
View Full Document

This document was uploaded on 03/15/2014 for the course IF 2030 at Institut Teknologi Bandung.

Ask a homework question - tutors are online