Kali ini
saya mencoba membuat program dengan menggunakan bahasa C
Program ini merupakan implementasi dari penggunaan adt stack atau LIFO (Last In
First Out)
Program yang saya buat merupakan program untuk mengkonversi penulisan matematika secara infix menjadi postfix atau menjadi prefix
sebagai contoh :
4+6*7/3
maka hasilnya adalah
4673/*+ (postfix)
+4/*673 (prefix)
source code nya dapat sobat copy di
Program yang saya buat merupakan program untuk mengkonversi penulisan matematika secara infix menjadi postfix atau menjadi prefix
sebagai contoh :
4+6*7/3
maka hasilnya adalah
4673/*+ (postfix)
+4/*673 (prefix)
source code nya dapat sobat copy di
Source Code :
stack.cpp :
/* File : stackt.cpp */
/* Deskripsi : Isi dari header stack.h*/
/* Dibuat oleh : Taufik Rohmat/08501032 */
/* Tanggal : 26-April-2009 */
#include "stack.h"
#include "boolean.h"
void SetTop (Stack *S, address NewTop)
/* Memberi Nilai TOP yang baru dengan NewTop */
{
Top(*S)=NewTop;
}
void SetInfoTop (Stack *S, infotype NewInf)
/* Memberi nilai Top yang baru dengan NewInf */
{
InfoTop(*S)=NewInf;
}
/* PROTO TYPE */
/**** Konstruktor/Kreator ****/
void CreateEmpty (Stack *S)
/* IS : S sembarang */
/* FS : Membuat sebuah stack S yang kosong berkapasitas MaxEl+1 */
/* jadi indeksnya antara 1 .. MaxEl karena 0 tidak dipakai */
/* Ciri stack kosong : TOP bernilai Nil */
{
Top(*S)=Nil;
}
/**** Predikat untuk test keadaan KOLEKSI ****/
boolean IsEmpty (Stack S)
/* Mengirim true jika Stack Kosong */
{
return(Top(S)==Nil);
}
boolean IsFull (Stack S)
/* Mengirim true jika tabel penampung elemen stack sudah penuh */
{
return(Top(S)==MaxEl);
}
/**** Menambahkan sebuah elemen ke Stack ****/
void Push (Stack *S, infotype X)
/* Menambahkan X sebagai elemen stack S */
/* IS : S mungkin kosong, tabel penampung elemen stack TIDAK penuh */
/* FS
: X menjadi TOP yang baru, TOP bertambah 1 */
{
SetTop(S, Top(*S)+1);
SetInfoTop(S,X);
}
/**** Menghapus sebuah elemen Stack ****/
void Pop (Stack *S, infotype *X)
/* Menghapus X dari Stack S */
/* IS : S tidak mungkin kosong */
/* FS : X adalah nilai elemen TOP yang lama, TOP berkurang 1 */
{
*X=InfoTop(*S);
SetTop(S, Top(*S)-1 );
}
/* Deskripsi : Isi dari header stack.h*/
/* Dibuat oleh : Taufik Rohmat/08501032 */
/* Tanggal : 26-April-2009 */
#include "stack.h"
#include "boolean.h"
void SetTop (Stack *S, address NewTop)
/* Memberi Nilai TOP yang baru dengan NewTop */
{
Top(*S)=NewTop;
}
void SetInfoTop (Stack *S, infotype NewInf)
/* Memberi nilai Top yang baru dengan NewInf */
{
InfoTop(*S)=NewInf;
}
/* PROTO TYPE */
/**** Konstruktor/Kreator ****/
void CreateEmpty (Stack *S)
/* IS : S sembarang */
/* FS : Membuat sebuah stack S yang kosong berkapasitas MaxEl+1 */
/* jadi indeksnya antara 1 .. MaxEl karena 0 tidak dipakai */
/* Ciri stack kosong : TOP bernilai Nil */
{
Top(*S)=Nil;
}
/**** Predikat untuk test keadaan KOLEKSI ****/
boolean IsEmpty (Stack S)
/* Mengirim true jika Stack Kosong */
{
return(Top(S)==Nil);
}
boolean IsFull (Stack S)
/* Mengirim true jika tabel penampung elemen stack sudah penuh */
{
return(Top(S)==MaxEl);
}
/**** Menambahkan sebuah elemen ke Stack ****/
void Push (Stack *S, infotype X)
/* Menambahkan X sebagai elemen stack S */
/* IS : S mungkin kosong, tabel penampung elemen stack TIDAK penuh */
/* FS
: X menjadi TOP yang baru, TOP bertambah 1 */
{
SetTop(S, Top(*S)+1);
SetInfoTop(S,X);
}
/**** Menghapus sebuah elemen Stack ****/
void Pop (Stack *S, infotype *X)
/* Menghapus X dari Stack S */
/* IS : S tidak mungkin kosong */
/* FS : X adalah nilai elemen TOP yang lama, TOP berkurang 1 */
{
*X=InfoTop(*S);
SetTop(S, Top(*S)-1 );
}
No comments:
Post a Comment
kalau mau komentar yang sopan dan enak di baca ya Cuy
Terimakasih atas komentarnya.. ... ... ..