#include <stdio.h>
#include <conio.h>
#define max 8
typedef struct { int data[max];} Stack;
Stack stack;
int top[2];
void create()
{ //kosongkan stack
top[0] = -1;
top[1]=max; //top[1]=8 karena elemenya array 0-7
}
int isfull()
{
int full=0;
if(top[0]+1 >= top[1]) full=1;
return full;
}
void push(int d, int noStack)
{
if(isfull()==0)
{
if(noStack==1) top[0]++;
else if(noStack == 2) top[1]--;
stack.data[top[noStack-1]]=d;
printf(" masuk %d ! ", stack.data[top[noStack-1]]);
}
}
int isempty(int noStack)
{
int empty=0;
if(noStack==1)
{
if(top[0]==0) empty=1;
}
else if(noStack==2)
{
if(top[1] == max) empty=1;
}
return empty;
}
int pop(int noStack)
{
int e;
if(isempty(noStack)==0)
{
e=stack.data[top[noStack-1]];
if(noStack==1) top[0]--;
else if(noStack==2) top[1]++;
}
return e;
}
void clear(int noStack)
{
if(noStack==1) top[0]=-1;
else if(noStack==2) top[1]=max;
}
void tampil()
{
int i;
printf(" slack 1\n");
for(i=0; i<=top[0]; i++)
{
printf(" %d ", stack.data[i]);
}
printf("\n stack 2\n");
for(i=max-1; i>=top[1]; i--)
{
printf(" %d", stack.data[i]);
}
}
void main()
{
int pil;
int no;
int data;
create();
do
{
clrscr();
printf(" 1. push \n");
printf(" 2. pop \n");
printf(" 3. tampil \n");
printf(" 4. clear \n");
printf(" 5. exit \n");
printf(" pilihan = "); scanf("%d", &pil);
switch(pil)
{
case 1: printf(" stack ke (1/2) : ");scanf("%d", &no);
printf(" data = "); scanf("%d", &data);
push(data,no); break;
case 2: printf(" stack ke(1/2) : ");scanf("%d", &no);
printf(" elemen yang keluar : %d ", pop(no));
break;
case 3: tampil(); break;
case 4: printf(" stack ke (1/2) : "); scanf("%d", &no);
clear(no); break;
}
getch();
}
while(pil !=5);
}
oke, moga bermanfa'at.
Salam senyum dari ku...
alam senyum dariku untuk semuanya, tetaplah untuk bersemangat. Jangan lupa atau isi buku tamu ya sob. Sedikit pemberitahuan untuk sobat yang ingin mengambil [Copy-Paste], Owner tidak melarang sobat untuk memperbanyak artikel namun Owner berharap sobat berlaku dengan bijak agar mencantumkan link active maupun yang tidak. Owner berharap partisipasinya ya sob.
0 komentar: