SINGLE STACK
SINGLE STACK
Hallo guys..
masih semangat belajar? Masih dong.
kali saya akan membahas single stack. Stack mengandung system LAST IN FIRST OUT .
yang artinya data yang terakhir masuk maka data itulah yang pertama kali keluar.
masih semangat belajar? Masih dong.
kali saya akan membahas single stack. Stack mengandung system LAST IN FIRST OUT .
yang artinya data yang terakhir masuk maka data itulah yang pertama kali keluar.
Seperti
tumpukan baju yang sebelumnya saya bilang.
oke langsung saja ke programnya :
#include <iostream>
#include <windows.h>
#include <conio.h>
#define max 5
#define min 0
using namespace std;
struct nama_mahasiswa
{
char nama[30];
}identitas[max];
int
bottom= min;
int
top = max;
bool
isEmpty()
{
if(bottom==min && top==max)
{
return true;
}
else{return false;}
}
bool isFull()
{
if(bottom==max || top==min)
{
return true;
}
else{return false;}
}
void push()
{
if(isFull())
{
cout<<" Stack is Full \n";
}
else
{
cout<<" masukkan nama : ";
cin>>identitas[bottom].nama;
bottom++;
}
}
void pop()
{
if(isEmpty())
{
cout<<" Stak is Empty \n";
}
else
{
bottom--;
for(int a=bottom;a>=bottom;a--)
{
cout<<" nama yang dihapus (
"<<identitas[a].nama<<" )"<<endl;
}
}
}
void view()
{
for(int x=bottom-1;x>=0;x--)
{
cout<<identitas[x].nama<<endl;
}
}
main()
{
int pilih,data;
do{
cout<<" 1. push nama \n";
cout<<" 2. pop nama \n";
cout<<" 3. view \n";
cout<<"pilih : ";
cin>>pilih;
switch(pilih)
{
case 1:
cout<<" mau input berapa kali ? ";
cin>>data;
for(int x=1;x<=data;x++)
{
cout<<" mau input berapa kali ? ";
cin>>data;
for(int x=1;x<=data;x++)
{
push();
}
break;
case
2:
pop();
getch();
break;
case 3:
view();
getch();
break;
}
}while(pilih<=3);
system("pause");
}
wah bagus banget
ReplyDeletemakasih kak
Deletejangan lupa follow