Home disini
widget by sy@ms

Latest Posts

Program Stack

Salah satu contoh program Stack dengan bahasa C++


#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...

Salam senyum dariku untuk semuanya, tetaplah untuk bersemangat. Jangan lupa Comment 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:

Jam Sekarang
Tanggal
Salam Sapa :
Status Blogging :

*ket. status : Terjadwal : Berarti yang punya blog tidak bisa berinternet [ More... ]





sy@ms
skyNET program


Join the conversation for skyNET program

 
 free web counter Counter Powered by  RedCounter

© 2011 || Copyright by sy@ms || Thanks for skyNET program All Reserved

Technology Blogs TopOfBlogs Top Blogs Internet Internet Blogs Phil Backlink Display Pagerank
Yahoo bot last visit powered by MyPagerank.Net
USA Backlinks Free Backlinks Service at USABacklinks.com! Auto Backlink Gratis Indonesia : Top Link Indo My Ping in TotalPing.com ping fast  my blog, website, or RSS feed for Free