Contoh Stack di C++

//contoh stack dengan array
#include<iostream.h>

#include<conio.h>

#include<stdlib.h>

#include<stdio.h>
#define MAX 10 // ukuran maksimum dari stact
void push(int stack[], int *top, int value);

void pop(int stack[], int *top, int *value);
//Program utama
int main()

{

int stack[MAX]; //variabel penanda yg menunjukan elemen teratas

int top=-1;int n, value;

do

{

do

{

cout<<“Masukkan nilai yang akan di PUSH : “;cin>>value;

push(stack,&top,value);

cout<<“Tekan 1 untuk melanjutkan : “; cin>>n;

}

while(n==1);

cout<<“Tekan 1 untuk melakukan POP : “;cin>>n;

while(n==1)

{

pop(stack,&top,&value);

cout<<“Nilai yang di POP : “<

cout<<“Tekan 1 untuk melakukan Pop sebuah elemen : “; cin>>n;

}

cout<<endl;

cout<<“Tekan 1 untuk melanjutkan : “;cin>>n;

}

while(n==1);

getch();

return 0;

}

}

void push(int stack[], int *top, int value)

{

if(*top < MAX)

{

*top=*top+1;

stack[*top]=value;

}

else

{

cout<<“Stack penuh, PUSH nilai tidak dapat dilakukan !”<

exit(0);

}

}

void pop(int stack[], int *top, int *value)

{

if(*top >= 0)

{

*value=stack[*top];

*top=*top-1;

}

else

{

cout<<“Stack kosong, POP nilai tidak dapat dilakukan !”<

exit(0);

}

}