Berikut ini saya akan memberikan sebuah contoh program Stack dalam bahasa C++,, dan langsung saja Listing Programnya yaitu:
#include "iostream.h"
#include "stdio.h"
#include "conio.h"
#define size 5
struct stack
{
int a[size];
int top;
};
typedef struct stack STACK;
void push(STACK *p,int value) /* PUSH OPERATION */
{
if(p->top==size-1)
cout<<"Stack Penuh!";
else
p->a[++p->top]=value;
}
int pop(STACK *p) /* POP OPERATION */
{
if (p->top==-1)
{
cout<<"Stack Kosong!";
return -1;
}
else
return p->a[p->top--];
}
void display (STACK *p) /*DISPLAY OPERATION */
{
int i;
if(p->top==-1)
cout<<"\nStack Kosong!\n";
else
cout<<"\nIsi Stack Adalah: \n";
for (i=p->top;i>=0; --i)
cout<<p->a[i]<<"\n";
}
void main()
{
STACK s ;
int x,i;
s.top=-1;
char pil;
do {
clrscr();
printf("1. Tambah\n");
printf("2. Ambil Datar\n");
printf("3. Lihat Data\n");
printf("4. Hapus Data\n");
printf("5. Keluar\n");
printf("Silahkan masukkan pilihan anda (1-5)... ");
pil=getche();
if(pil!='1' && pil !='2' && pil !='3' && pil!='4' && pil!='5' )
printf("\n\nAnda salah mengetikkan inputan...\n");
else
{
if(pil=='1')
{
cout<<"\nMasukkan Element: ";cin>>x;
push (&s,x);
}
else
{
if(pil=='2')
{
x=pop(&s);
if(x!=-1)
cout<<"\nElement yang Dihapus: "<<x;
getch();
}
else
{
if(pil=='3')
{
display(&s);
getch();
}
else
{
if(pil=='4')
{
if(s.top==-1)
printf("\nStack Kosong!\n");
else
printf("\nStack Dihapus!\n");
for (i=s.top;i>=0; --i)
printf("Element Yang Dihapus adalah %d\n",pop(&s));
s.top=-1;
getch();
}}}
}}}
while(pil!='5');
}
Semoga bermanfaat dan selamat mencoba... :)
Thursday 9 February 2012
Subscribe to:
Post Comments (Atom)
banyak erornya
ReplyDeleteBsa dkasih tw lbih jlas dmana ltak slahnya??? soalny saya sdah mncoba program ini dan berhasil...
Deletebisa bro,, emang tu org yg kagak ngerti
Deletebro,ada contoh program aray dimensi 2 n 3 ,sama linked list ngga ??
ReplyDeletekalo ada minta dong,buat latihan2 soal
Coba dcari dlu y mas.. rasany ce ad..
Deletemhon maaf agk lma,, soalny sya lgi sbuk bkin tgas akhir skarang..
^_^
artikelnya bermanfaat kak, ini sya jga punya artikel tentang Stack (tumpukan) dalam Bahasa C, smoga dpt saling melengkapi
ReplyDeleteStack (tumpukan) dalam Bahasa C
Kumpulan Materi Bahasa C, Lengkap dengan contoh program