Sekarang tinggal memberikan Contoh Program Double Stack C.
Oke langsung aja, ini dia Contoh Program Double Stack nya
/*Contoh double stack*/
#include "stdio.h"
#include "conio.h"
#define MAX 50
#define true 1
#define false 0
char stack[MAX];
int top1, top2;
void init(void);
void push(char data, int nomorstack);
char pop(int nomorstack);
void clear(int nomorstack);
int full(void);
int empty(int nomorstack);
void baca();
main(){
char data;
int pilih, nomorstack;
init();
do{
clrscr();
printf("Contoh program double stack");
printf("\n1. Push");
printf("\n2. Pop");
printf("\n3. Clear");
printf("\n4. Baca");
printf("\n5. Selesai...");
printf("\nPilihan anda : \n");
scanf("%i",&pilih);
switch(pilih){
case 1: printf("Push\n");
printf("Masukkan datanya :\n"); scanf("%s",&data);
printf("Mau dimasukkan ke stack berapa ? 1 atau 2 ? :\n");
scanf("%i",&nomorstack);
push(data, nomorstack);
break;
case 2: printf("Pop\n");
printf("Masukkan nomor stack\n");
scanf("%i",&nomorstack);
data=pop(nomorstack);
printf("\nData yang dikeluarkan adalah %s", data);
break;
case 3: printf("Clear\n");
printf("Nomor Stack yang akan dikosongkan \n");
scanf("%i",&nomorstack);
clear(nomorstack);
break;
case 4: printf("Baca\n");
baca();
break;
case 5: printf("Exit");
break;
default: printf("Pilihan yang anda masukkan tidak ada");
break;
}
}while(pilih!=5);
getch();
}
//init
void init(){
top1=0;
top2=MAX+1;
}
//PUSH
void push(char data, int nomorstack){
if(full()!=true){
switch(nomorstack){
case 1: top1++;
stack[top1]=data;
break;
case 2: top2--;
stack[top2]=data;
break;
default: printf("\nNomor stack salah");
break;
}
}
else
printf("\nStack penuh");
getch();
}
//POP
char pop(int nomorstack){
char data;
if(empty(nomorstack)!=true){
switch(nomorstack){
case 1: data=stack[top1];
top1--;
return data;
break;
case 2: data=stack[top2];
top2++;
return data;
break;
default: printf("\nNomor stack salah");
break;
}
}
else printf("\nStack masih kosong");
getch();
return 0;
}
//cek full
int full(void){
if(top1+1>=top2){
return true;
}
else return false;
}
//cek empty
int empty(int nomorstack){
switch(nomorstack){
case 1: if(top1==0) return true;
else return false;
break;
case 2: if(top2==MAX+1) return true;
else return false;
break;
default: printf("nomor stack salah");
break;
}
}
//clearing
void clear(int nomorstack){
switch(nomorstack){
case 1: top1=0;
break;
case 2: top2=MAX+1;
break;
default: printf("Nomor stack salah");
break;
}
}
void baca(){
int i;
printf("Baca isi stack pertama \n");
for(i=1; i<=top1; i++){
printf(" %c ",stack[i]);
printf("\n");
}
printf("Isi stack kedua\n");
for(i=MAX; i>=top2; i--){
printf(" %c ",stack[i]);
printf("\n");
}
getch();
}
Jika ada masalah dengan Contoh Program Double Stack silahkan tinggalkan komentar...
sekian dan terima kasih.
Artikel Saya lainnya :
2 comments:
thx yaa...sangat membantu :)
kalo bisa ada bahasa c++ ..karna bahasa C saya kurang paham ..
maju terus :)
Kenapa pas dijalankan di program c++ ada tulisan ' iostream.h file not found'
Posting Komentar