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 :