Skip to main content

//Program untuk Insert (Push) Nilai dan Delete (Pop) Nilai dalam Stack


Nama                    : I Putu Gede Bayu Wisnawa
Nim                       : 100010423
Mata Kuliah       : Algoritma dan Struktur Data II

//Program untuk Insert (Push) Nilai dan Delete (Pop) Nilai dalam Stack

#include <iostream.h>
#include <stdio.h>
#include <stdlib.h>
#define MAX 10 //Ukuran maksimum dari Stack

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

void main()
{
                int stack[MAX];
                int top = -1;
                int n, value;
  do
  {
   do
   {
                                cout<<"Masukan Nilai yang akan di Push : ";
                                cin>>value;
                                push(stack,&top,value);

                cout<<"Tekan 1 untuk melanjutkan"<<endl;
                cin>>n;
   } while (n == 1);
  cout<<"Tekan 1 untuk Melakukan Pop"<<endl;
   cin>>n;
  while (n == 1)
   {
                                pop(stack,&top,&value);
                                cout<<"Nilai yang di Pop : "<<value;
                                cout<<"Tekan 1 untuk Melakukan Pop sebuah Elemen"<<endl;
                                cin>>n;
   }
   cout<<endl;
   cout<<"Nilai yang di Pop : "<<value;
   cout<<"Tekan 1 untuk Melanjutkan"<<endl;
   cin>>n;
 } while (n == 1);
}
void push(int stack[], int *top, int value) //Fungsi untuk Insert Nilai
{
                if(*top < MAX)
                {
                                *top = *top + 1;
                                stack[*top] = value;
                }
                else
                {
                                cout<<"Stack Penuh, Push Nilai Tidak Dapat Dilakukan"<<endl;
                                exit(0);
                }
}
void pop(int stack[], int *top,int *value)//Fungsi untuk Delete Nilai
{
                if (*top >= 0)
                {
                                *value = stack[*top];
                                *top = *top - 1;
                }
                else
                {
                                cout<<"Stack Kosong, Pop Tidak Dapat Dilakukan"<<endl;
                                exit(0);
                }
}


Comments