langsung ja ke TKP gan,, ni scribnya....
#include
#include
#include
#define MAXSTACK 100
typedef int itemType;
typedef struct {
int item[MAXSTACK];
int jml;
} Stack;
void init(Stack *s){
s->jml=0;
}
int kosong(Stack *s){
return (s->jml==0);
}
int penuh(Stack *s){
return (s->jml==MAXSTACK);
}
void isi(itemType x, Stack *s){
if(penuh(s))
printf("\nMaaf data sudah penuh\n");
else{
s->item[s->jml]=x;
++(s->jml);
}
}
void ambil(Stack *s, itemType *x){
if(kosong(s))
printf("\nMaaf data masih kosong\n");
else
{
--(s->jml);
*x=s->item[s->jml];
s->item[s->jml]=0;
printf("\nData %i berhasil diambil\n",*x);
}
}
void tampil(Stack *s){
if(kosong(s))
printf("\nMaaf Data masih kosong\n");
else
printf("\n");
for(int i=s->jml-1;i>=0;i--){
printf("Data: %d\n",s->item[i]);
}
}
void hapus(Stack *s){
s->jml=0;
printf("\nSemua data berhasil dihapus\n");
}
void main(){
int pil;
Stack tumpukan;
itemType data;
init(&tumpukan);
do{
printf("\nMENU: \n 1. Isi\n 2. Ambil\n 3. Lihat\n 4. Hapus\n 5. Keluar\n");
printf("Masukkan pilihan: "); scanf("%i",&pil);
switch(pil){
case 1:
printf("\nMasukkan data: "); scanf("%i",&data);;
isi(data,&tumpukan);
break;
case 2:
ambil(&tumpukan,&data);
break;
case 3:
tampil(&tumpukan);
break;
case 4:
hapus(&tumpukan);
break;
}
}while(pil!=5);
getch();
}
sumonggo menawi ajeng dipun edit,, kersane panjenengan njeh,,,,
selamat mencoba and good luck,,,,!!!
referensi : modul struktur data..
2 koment:
oke son. tak jajale. wingi q mumet dewe j. hehehe,,
kamsia yo....
yo'i gan, sumonggo dijajal.. good luck gan.. :n:
Posting Komentar