Contoh Program Stack C++

Contoh Program Stack C++

Berikut adalah contoh program stack lengkap menggunakan bahasa pemrograman C++

C++
#include <iostream>
using namespace std;

#define MAX_SIZE 100

class Stack {
private:
    int top;
    int data[MAX_SIZE];

public:
    Stack() {
        top = -1;
    }

    bool isEmpty() {
        return (top == -1);
    }

    bool isFull() {
        return (top == MAX_SIZE - 1);
    }

    void push(int value) {
        if (isFull()) {
            cout << "Stack penuh. Tidak dapat menambahkan elemen baru." << endl;
            return;
        }
        data[++top] = value;
        cout << "Elemen " << value << " berhasil ditambahkan ke dalam stack." << endl;
    }

    void pop() {
        if (isEmpty()) {
            cout << "Stack kosong. Tidak dapat menghapus elemen." << endl;
            return;
        }
        int value = data[top--];
        cout << "Elemen " << value << " berhasil dihapus dari stack." << endl;
    }

    int peek() {
        if (isEmpty()) {
            cout << "Stack kosong." << endl;
            return -1;
        }
        return data[top];
    }
};

int main() {
    Stack stack;

    stack.push(10);
    stack.push(20);
    stack.push(30);

    cout << "Elemen paling atas: " << stack.peek() << endl;

    stack.pop();
    stack.pop();

    cout << "Elemen paling atas setelah pop: " << stack.peek() << endl;

    return 0;
}
C++

Program di atas adalah contoh implementasi stack menggunakan array dalam bahasa pemrograman C++. Stack adalah struktur data yang mengikuti prinsip LIFO (Last In First Out), yang berarti elemen yang terakhir dimasukkan ke dalam stack akan menjadi elemen pertama yang dihapus.

Program ini memiliki kelas Stack yang memiliki beberapa fungsi, antara lain:

  • isEmpty(): untuk memeriksa apakah stack kosong atau tidak.
  • isFull(): untuk memeriksa apakah stack penuh atau tidak.
  • push(): untuk menambahkan elemen baru ke dalam stack.
  • pop(): untuk menghapus elemen paling atas dari stack.
  • peek(): untuk melihat elemen paling atas dari stack tanpa menghapusnya.

Pada fungsi main(), kita membuat objek stack dari kelas Stack dan melakukan beberapa operasi seperti menambahkan elemen ke dalam stack menggunakan fungsi push(), menghapus elemen dari stack menggunakan fungsi pop(), dan melihat elemen paling atas dari stack menggunakan fungsi peek().

Semoga contoh program stack di atas dapat membantu Anda memahami konsep stack dalam pemrograman C++. Jika Anda memiliki pertanyaan lebih lanjut, jangan ragu untuk bertanya.