Contoh program STACK
https://im-informatika.blogspot.com/2015/05/contoh-program-stack.html
Sebelum memahami contoh program stack, pahami terlebih dahulu tentang STACK
Berikut source code contoh program Stack menggunakan array
Hasil program :




Berikut source code contoh program Stack menggunakan array
#include <stdio.h>
#include <conio.h>
#include <string.h>
#define MAX_STACK 10
struct STACK {
int top;
char data[10][10];
};
STACK tumpuk;
void inisialisasi(){
tumpuk.top = -1;
}
int IsFull(){
if(tumpuk.top == MAX_STACK-1) return 1; else return 0;
}
int IsEmpty(){
if(tumpuk.top == -1) return 1; else return 0;
}
void Push(char d[10]){
tumpuk.top++;
strcpy(tumpuk.data[tumpuk.top],d);
}
void Pop(){
printf("Data yang terambil = %s\n",tumpuk.data[tumpuk.top]);
tumpuk.top—--;
}
void Clear(){
tumpuk.top=-1;
}
void TampilStack(){
for(int i=tumpuk.top;i>=0;i--){
printf("Data ke %d : %s\n",i+1,tumpuk.data[i]);
}
}
int main(){
int pil;
bool exit=true;
inisialisasi();
char dt[10];
while(exit){
clrscr();
printf("1. push\n");
printf("2. pop\n");
printf("3. print\n");
printf("4. clear\n");
printf("5. exit\n");
printf("Pilihan : ");scanf("%d",&pil);
switch(pil){
case 1: clrscr();if(IsFull() != 1){ printf("Data = ");scanf("%s",dt);Push(dt); } else printf("\nSudah penuh!\n");getch();break;
case 2: clrscr();if(IsEmpty() != 1) Pop(); else printf("\nMasih kosong!\n");getch();break;
case 3: clrscr();if(IsEmpty() != 1) TampilStack(); else printf("\nMasih kosong!\n");getch();break;
case 4: clrscr();Clear(); printf("\nSudah kosong!\n");getch();break;
case 5: exit=false; break;}
}
}
Hasil program :