Program C++ Pembuatan Stack
Berikut adalah Source Code Program C++ dari Pembuatan Stack:
#include <iostream>
#include <string.h>
#include <conio.h>
using namespace std;
void push();
void push();
bool isFull();
bool isEmpty();
void clear();
void view();
void urut();
void menu();
int max_stack=7;
struct stack{ // Mendefinisikan stack dengan menggunakan struct
int penunjuk;
int data [7]; // menampung 15 data dengan jumlah string max 20 huruf
};
stack tumpuk;
void urut(){
if(!isEmpty()){
for(int i=0;i<=tumpuk.penunjuk;i++){
for(int j=i+1;j<=tumpuk.penunjuk;j++){
if(tumpuk.data[i]>tumpuk.data[j]){
swap(tumpuk.data[i],tumpuk.data[j]);
}
}
}
cout<<"Stack telah diurutkan!";
getch();
}else{
cout<<"Stack kosong, tidak bisa diurutkan!";
getch();
}
menu();
}
void push(){
if(isFull()){
cout<<"Tumpukan sudah Penuh!";
getch();
}else{
tumpuk.penunjuk++;
cout<<("Data yang akan dimasukan kedalam stack : ");
cin>>tumpuk.data[tumpuk.penunjuk];
}
menu();
}
void pop(){
if(isEmpty()){
cout<<"Stack Kosong!";
getch();
}else{
cout<<("Data yang akan diambil dari stack : ")<<tumpuk.data[tumpuk.penunjuk];
tumpuk.penunjuk--;
getch();
}
menu();
}
bool isFull(){
if (tumpuk.penunjuk==max_stack-1)
return true;
else
return false;
}
bool isEmpty(){
if (tumpuk.penunjuk==-1)
return true;
else
return false;
}
void clear(){
tumpuk.penunjuk=-1;
cout<<("Stack sudah dikosongkan !");
menu();
}
void view(){
for (int a=tumpuk.penunjuk;a>=0;a--) cout<<"Data pada tumpukan ke "<<a<<": "<<tumpuk.data[a]<<endl;
getch();
menu();
}
void menu(){
int pil;
system("cls");
cout<<"Menu Stack"<<endl;
cout<<"[1] Menambah (Push)"<<endl;
cout<<"[2] Mengambil (Pop)"<<endl;
cout<<"[3] Mengecek apakah stack penuh (isFull)"<<endl;
cout<<"[4] Mengecek apakah stack kosong (isEmpty)"<<endl;
cout<<"[5] Membersihkan Stack (clear)"<<endl;
cout<<"[6] Mencetak isi Stack (view)"<<endl;
cout<<"[7] Mengurutkan Data"<<endl;
cout<<"*/Tekan Angka 0 untuk keluar dari program"<<endl;
cout<<"Pilihan anda* : ";cin>>pil;
if(pil==1){
push();
}else if(pil==2){
pop();
}else if(pil==3){
if(isFull()){
cout<<"Stack Penuh!";
}else{
cout<<"Stack Tidak Penuh!";
}
getch();
menu();
}else if(pil==4){
if(isEmpty()){
cout<<"Stack Kosong!";
}else{
cout<<"Stack Tidak Kosong!";
}
getch();
menu();
}else if(pil==5){
clear();
}else if(pil==6){
view();
}else if(pil==7){
urut();
}else{}
}
int main(){
tumpuk.penunjuk=-1;
menu();
}
Tonton video tutorialnya di:
https://youtu.be/hz2YWQn0wGI
#include <iostream>
#include <string.h>
#include <conio.h>
using namespace std;
void push();
void push();
bool isFull();
bool isEmpty();
void clear();
void view();
void urut();
void menu();
int max_stack=7;
struct stack{ // Mendefinisikan stack dengan menggunakan struct
int penunjuk;
int data [7]; // menampung 15 data dengan jumlah string max 20 huruf
};
stack tumpuk;
void urut(){
if(!isEmpty()){
for(int i=0;i<=tumpuk.penunjuk;i++){
for(int j=i+1;j<=tumpuk.penunjuk;j++){
if(tumpuk.data[i]>tumpuk.data[j]){
swap(tumpuk.data[i],tumpuk.data[j]);
}
}
}
cout<<"Stack telah diurutkan!";
getch();
}else{
cout<<"Stack kosong, tidak bisa diurutkan!";
getch();
}
menu();
}
void push(){
if(isFull()){
cout<<"Tumpukan sudah Penuh!";
getch();
}else{
tumpuk.penunjuk++;
cout<<("Data yang akan dimasukan kedalam stack : ");
cin>>tumpuk.data[tumpuk.penunjuk];
}
menu();
}
void pop(){
if(isEmpty()){
cout<<"Stack Kosong!";
getch();
}else{
cout<<("Data yang akan diambil dari stack : ")<<tumpuk.data[tumpuk.penunjuk];
tumpuk.penunjuk--;
getch();
}
menu();
}
bool isFull(){
if (tumpuk.penunjuk==max_stack-1)
return true;
else
return false;
}
bool isEmpty(){
if (tumpuk.penunjuk==-1)
return true;
else
return false;
}
void clear(){
tumpuk.penunjuk=-1;
cout<<("Stack sudah dikosongkan !");
menu();
}
void view(){
for (int a=tumpuk.penunjuk;a>=0;a--) cout<<"Data pada tumpukan ke "<<a<<": "<<tumpuk.data[a]<<endl;
getch();
menu();
}
void menu(){
int pil;
system("cls");
cout<<"Menu Stack"<<endl;
cout<<"[1] Menambah (Push)"<<endl;
cout<<"[2] Mengambil (Pop)"<<endl;
cout<<"[3] Mengecek apakah stack penuh (isFull)"<<endl;
cout<<"[4] Mengecek apakah stack kosong (isEmpty)"<<endl;
cout<<"[5] Membersihkan Stack (clear)"<<endl;
cout<<"[6] Mencetak isi Stack (view)"<<endl;
cout<<"[7] Mengurutkan Data"<<endl;
cout<<"*/Tekan Angka 0 untuk keluar dari program"<<endl;
cout<<"Pilihan anda* : ";cin>>pil;
if(pil==1){
push();
}else if(pil==2){
pop();
}else if(pil==3){
if(isFull()){
cout<<"Stack Penuh!";
}else{
cout<<"Stack Tidak Penuh!";
}
getch();
menu();
}else if(pil==4){
if(isEmpty()){
cout<<"Stack Kosong!";
}else{
cout<<"Stack Tidak Kosong!";
}
getch();
menu();
}else if(pil==5){
clear();
}else if(pil==6){
view();
}else if(pil==7){
urut();
}else{}
}
int main(){
tumpuk.penunjuk=-1;
menu();
}
Tonton video tutorialnya di:
https://youtu.be/hz2YWQn0wGI
Komentar
Posting Komentar