Struktur Data Stack
Selamat Pagi sahabat bloggers kali kita Belajar Struktur Data, langsung saja biar tidak lama-lama...heee
Struktur Data Stack
Pengertian Stack atau tumpukan adalah kumpulan data yang seolah-olah
diletakkan di atas data yang lain.
Dalam suatu tumpukan dapat dilakukan operasi penambahan dan
pengambilan (penghapusan) data melalui ujung yang sama, ujung ini merupakan
ujung paling atas tumpukan, yang disebut dengan top of stack.
Bersifat LIFO (Last In First Out)
Benda yang terakhir masuk ke dalam stack akan menjadi benda
pertama yang dikeluarkan dari stack
Operasi-Operasi / Fungsi Stack
Push
digunakan untuk menambah item pada stack di tumpukan paling
atas
Pop
digunakan untuk
mengambil item pada stack di tumpukan paling atas
IsEmpty
fungsi yang digunakan untuk mengecek apakah stack sudah
kosong
IsFull
fungsi yang digunakan untuk mengecek apakah stack sudah penuh
Stack with Array of Struct
Definisikan Stack dengan menggunakan suatu struct
Definisikan konstanta MAX_STACK untuk menyimpan maksimum isi
stack
Elemen struct Stack adalah array data dan top untuk
menadakan posisi data teratas
Buatlah variabel tumpuk sebagai implementasi dari struct
Stack
Deklarasikan operasi-operasi/function di atas dan buat
implemetasinya
Program Lengkap
Stack
#include <stdio.h>
#include <conio.h>
#include <string.h>
#define
MAX_STACK 10
struct { int top;
char
data[10][10];
}tumpuk;
void inisialisasi()
{ tumpuk.top
= -1;}
int IsFull()
{ if(tumpuk.top == MAX_STACK-1) return 1; else
return 0;}
int IsEmpty()
{ if(tumpuk.top
== -1) return 1; else return 0;}
void
Push(char d[10])
{ tumpuk.top++;
strcpy(tumpuk.data[tumpuk.top],d);
}
void Pop()
{ printf("Data
yang terambil = %s\n",tumpuk.data[tumpuk.top]);
tumpuk.top--; }
void Clear()
{ tumpuk.top=-1;
}
void TampilStack()
{ for(int i=tumpuk.top;i>=0;i--)
{ printf("Data : %s\n",tumpuk.data[i]);
}
}
int main()
{
int pil;
inisialisasi();
char dt[10];
do{ printf("1. push\n");
printf("2. pop\n");
printf("3. print\n");
printf("4. clear\n");
printf("5. exit\n");
printf("Pilihan : ");
scanf("%d",&pil);
switch(pil)
{
case 1: if(IsFull() != 1)
{ printf("Data =
");scanf("%s",dt);
Push(dt); }
else printf("\nSudah
penuh!\n");
break;
case 2: if(IsEmpty() != 1)
Pop();
else
printf("\nMasih kosong!\n");
break;
case 3: if(IsEmpty() != 1)
TampilStack();
else
printf("\nMasih kosong!\n");
break;
case 4: Clear();
printf("\nSudah kosong!\n");
break;
}
getch();
} while(pil != 5);
getch();
}
Oklik semoga bermanfaat buat Sahabat Bloggers....
4 comments
hmmm.........mudeng pak bos...kalo urusan kayak ginian........
pas posang...........
@dunia bola indonesia Hehe...
belajarnya sedikit" pasti bisa bos...
@dunia bola indonesia Hehe...
belajarnya sedikit" pasti bisa bos...
Perkenalkan, saya dari tim kumpulbagi. Saya ingin tau, apakah kiranya anda berencana untuk mengoleksi files menggunakan hosting yang baru?
Jika ya, silahkan kunjungi website ini www.kbagi.com untuk info selengkapnya.
Di sana anda bisa dengan bebas share dan mendowload foto-foto keluarga dan trip, music, video, filem dll dalam jumlah dan waktu yang tidak terbatas, setelah registrasi terlebih dahulu. Gratis :)
Post a Comment
Silahkan Berkomentar Dengan Baik dan Sopan
No Spam
No Link
Terima Kasih Telah Berkunjung Ke Blog ini