Contoh Stack

Selamat Sore sobat blogger kali ini saya akan share program stack. Stack adalah sebuah kumpulan data dimana data yang diletakkan diatas data yang lain. Dengan demikian stack adalah struktur data yang menggunakan konsep LIFO (Last In First Out). dengan demikian element terakhir yang disimpan dalam stack menjadi element pertama yang diambil. langsung aja berikut kodingannya.

#include <iostream>
#include <conio.h>
#define MAX 7
using namespace std;

struct Stack {
int penunjuk, data[MAX];
}tumpukan;

void init(){
    tumpukan.penunjuk=-1;
}

bool IsEmpty(){
return tumpukan.penunjuk==-1;
}
bool isFull(){
return tumpukan.penunjuk==MAX-1;
}
void Push(){
    if(isFull()){
        cout<<" STACK SUDAH FULL ";
    }
    else{
        tumpukan.penunjuk++;
        cout<<" Masukkan data dalam Stack : ";
        cin>>tumpukan.data[tumpukan.penunjuk];
    }
}
void Pop(){
    if(IsEmpty()){
        cout<<" STACK KOSONG ";
    }
    else{
        cout<<" Data yang diambil : "<<tumpukan.data[tumpukan.penunjuk];
        tumpukan.penunjuk--;
    }
}
void printStack() {
if (IsEmpty()) {
cout << "Tumpukan kosong";
}
else {
        cout << "\nTumpukan : ";
for (int i = tumpukan.penunjuk; i >= 0; i--){
            cout << tumpukan.data[i] << ((i == 0) ? "" : ",");
}
}
}

int main(){
    int pilihan, data;
init();
do {
    printStack();
cout << "\n1. Input (Push)\n"
        <<"2. Hapus (Pop)\n"
        <<"3. Keluar\n"
        <<"Masukkan Pilihan: ";
cin >> pilihan;
switch (pilihan)
{
case 1:
Push();
break;
case 2:
Pop();
break;
        case 3:
            return 0;
default:
      cout << "Pilihan tidak tersedia" << endl;
break;
}
} while (pilihan!=3);
}

berikut tampilannya ketika programmnya dijalankan.


Sekian postingan program stack ini semoga apa yang saya share ini bisa bermanfaat bagi teman-teman semua. Wassalam😄



Belum ada tanggapan untuk "Contoh Stack"

Post a Comment