void Pop() {
if (top >= 0) {
top = top - 1;
cout << "Pop Berhasil" << endl;
} else {
cout << "Stack kosong. Tidak dapat menghapus data."
<< endl;
}
}
void Clear() {
top = -1;
cout << "Stack berhasil dikosongkan." << endl;
}
bool IsEmpty() {
return top == -1;
}
bool IsFull() {
return top == 4;
}
void isiStack() {
if (IsEmpty()) {
cout << "Stack kosong." << endl;
} else {
for (int i = top; i >= 0; i--) {
cout << "| " << data[i] << " |" << endl;
}
}
}
int main() {
int pilih, input;
while (true) {
cout << "Menu" << endl;
cout << "1. Push Stack" << endl;
cout << "2. Pop Stack" << endl;
cout << "3. Isi Stack" << endl;
cout << "4. Clear Stack" << endl;
cout << "Masukkan Pilihan : ";
cin >> pilih;
if (pilih == 1) {
cout << "Masukkan Data : ";
cin >> input;
Push(input);
} else if (pilih == 2) {
Pop();
} else if (pilih == 3) {
isiStack();
} else if (pilih == 4) {
Clear();
} else {
cout << "Tidak Ada Pilihan !" << endl;
}
}
return 0;
}
2. Buatlah program seperti ilustrasi berikut.
Tumpukan
1 5, 3, 6, 8, 7
Tumpukan
2 5, 3, 6, 7, 2
Tumpukan
3 25, 9, 36, 56, 14
Tumpukan
4 56, 36, 25, 14, 9
Tumpukan 3 : berisi hasil kali dari tumpukan 1 dan tumpukan
2.
Tumpukan 4 : berisi hasil pengUrutan tumpukan 3
menggunakan bubble sort.
#include <iostream>
#include <stack>
#include <vector>
using namespace std;
while (!s1.empty()) {
hasilKali += s1.top() * s2.top();
s1.pop();
s2.pop();
}
return hasilKali;
}
void bubbleSort(stack<int>& s) {
vector<int> temp;
while (!s.empty()) {
temp.push_back(s.top());
s.pop();
}
int main() {
stack<int> tumpukan1, tumpukan2, tumpukan3,
tumpukan4;
tumpukan1.push(5);
tumpukan1.push(3);
tumpukan1.push(6);
tumpukan1.push(8);
tumpukan1.push(7);
tampilkanTumpukan(tumpukan1, 1);
tumpukan2.push(5);
tumpukan2.push(3);
tumpukan2.push(6);
tumpukan2.push(7);
tumpukan2.push(2);
tampilkanTumpukan(tumpukan2, 2);
tumpukan3.push(25);
tumpukan3.push(9);
tumpukan3.push(36);
tumpukan3.push(56);
tumpukan3.push(14);
tampilkanTumpukan(tumpukan3, 3);
bubbleSort(tumpukan3);
tampilkanTumpukan(tumpukan3, 4);
return 0;
}