6.5.11

contoh stack c++

nah setelah kemarin kita mengerti pengertian stack dan stack adalah maka dalam tulisan ini saya pengen memberikan contoh stack dalam bahasa c++,
berikut listing contoh stack c++ silakan langsung di kopi aja source codenya .




#include <stdio.h>
#include <conio.h>
#include <iostream.h>

#define MAXSTACK 100

typedef int itemType;
typedef struct {
    int item[MAXSTACK];
   int jml;
} Stack;

void init(Stack *s){
     s->jml=0;
}

int kosong(Stack *s){
     return (s->jml==0);
}

int penuh(Stack *s){
    return (s->jml==MAXSTACK);
}

void isi(itemType x, Stack *s){
    if(penuh(s))
        printf("\nMaaf data sudah penuh\n");
   else{
       s->item[s->jml]=x;
      ++(s->jml);
   }
}

void ambil(Stack *s, itemType *x){
    if(kosong(s))
       printf("\nMaaf data masih kosong\n");
   else
   {
        --(s->jml);
      *x=s->item[s->jml];
      s->item[s->jml]=0;
      printf("\nData %i berhasil diambil\n",*x);
   }
}

void tampil(Stack *s){
    if(kosong(s))
       printf("\nMaaf Data masih kosong\n");
   else
       printf("\n");
        for(int i=s->jml-1;i>=0;i--){
           printf("Data: %d\n",s->item[i]);
       }
}

void hapus(Stack *s){
    s->jml=0;
   printf("\nSemua data berhasil dihapus\n");
}

void main(){
    int pil;
   Stack tumpukan;
   itemType data;
   init(&tumpukan);

   do{
       printf("\nMENU: \n 1. Isi\n 2. Ambil\n 3. Lihat\n 4. Hapus\n 5. Keluar\n");
       printf("Masukkan pilihan: "); scanf("%i",&pil);

      switch(pil){
          case 1:
             printf("\nMasukkan data: "); scanf("%i",&data);;
            isi(data,&tumpukan);
            break;
         case 2:
             ambil(&tumpukan,&data);
            break;
         case 3:
             tampil(&tumpukan);
            break;
         case 4:
            hapus(&tumpukan);
            break;
      }
   }while(pil!=5);

   getch();
}


nah setelah di copi di eksekusi dan hasilnya seperti ini :



nah itu contoh dari stack semoga bermanfaat ya......

0 comments:

Post a Comment