#include "stdio.h"
void main()
{
int stack[100];
int top=-1;
int pilih, i;
do
{
printf("MENU\n");
printf("1. PUSH\n2. POP\n3. VIEW\n4. EXIT\n");
printf("Pilih = "); scanf("%d", &pilih);
switch(pilih)
{
case 1://push
if (top > 100)
printf("Stack penuh!\n");
else
{ printf("Data = "); scanf("%d", &stack[top+1]);
top++;
}
break;
case 2://pop
if (top < 0)
printf("Stack kosong!\n");
else
{
printf("Data keluar = %d\n", stack[top]);
top--;
}
break;
case 3://view
for(i=top; i>=0; i--)
printf("%d ", stack[i]);
printf("\n");
break;
case 4:
printf("Exit...\n");
break;
}
}while (pilih!=4);
}
Artikel terkait:
Stack Array Java
Stack Linked List Java
silahkan dicoba implementasi stack memakai linked list. boleh yg single maupun yg double linked list. prinsipnya, pastikan penambahan dan penghapusan simpul selalu terjadi pada satu tempat, boleh di depan maupun belakang. yg penting konsisten. pastikan pula link dlm linked list selalu connected. jika ada masalah harap segera diposting utk diskusi lebih lanjut. terima kasih :)
ReplyDeletemas, itu pas pilih 1 (push), di line:
ReplyDeleteif (top > 100)
kayaknya keliru (setidaknya di java), soalnya index array dimulai dari 0, jadi ketika top = 100 dia masih bisa push, padahal udah ArrayOutOfBounds
btw udah saya convert versi java-nya di blog saya :D
thanks!!
yup. thats right. krg tanda sama dengannya. khilaf. thanks, mam :)
ReplyDeleteloh mas
ReplyDeleteif(top >= 100)
juga masih salah karena top = 100 juga ArrayOutOfBounds
yg benar :
if(top >= 100 - 1)
karena index array mulai 0 sampai 99
thanks!!
pak gimana Contoh Program Stack Memakai Array yg di atas kok ada 2 error n uda sya cba untuk gnti dari:
ReplyDeletetop–; menjadi top--;
for(i=top; i>=0; i–) menjadi for(i=top; i>=0; i–-)
tapi kok g' bsa dlam kondisi extrim conthnya aja umpama q gnti ukuran arraynx mnjadi: stack[3]dan sya gnti jga mnjadi if (top > 3)dan jka sya compiling dan out put untuk pilihan push q tambain trus smpai kondisi extrim yaitu 3 atau lebih dri 3 tpi stelah di view kok g' mnunjukan penuh dan sya cba gnti dari
if (top = 3) menjadi if (top = 3)
tapi stelah dicompile kok lngsung mnunjukan stack penuh so tlong pnjelasannya..
kirim file .cpp nya ke email saya, zi. biar saya cek :)
ReplyDeletejadi gimana analisis nya?
ReplyDeletethanks bro infonya
ReplyDeletesama2, mas arul :)
ReplyDeletega ngerti cara input datanya?? berhasil di run tapi maksud data disana apa??
ReplyDeleteseharusnya muncul menu pilihan. input data, pilih menu 1 dan enter. masukkan data baru :)
ReplyDeleteudah, sob. maksih, yah . saya mau pelajari dulu progamnya, btw ada visual dari stcak ga?? sealin c++?
ReplyDeleteklo yg dimaksud visual itu adalah gambar/ animasi ya sementara ini belum ada. lebih ribet coding-nya. maaf :)
ReplyDeleteaku mah salah di void main aja... knp yaa??
ReplyDeletejika berkenan, file source code-nya bisa di-email ke bluejundi@yahoo.com ya. spy mudah ngeceknya. trims :)
ReplyDelete