Selamat pagi menjelang siang pembaca.
Kali ini saya akan berbagi ilmu mengenai programming J. Kebetulan sekali, kali
ini saya menuju ke tingkat 2 dan saya mendapat mata kuliah STRUKTUR DATA. Semoga
ini bisa bermanfaat bagi pembaca.
Dalam ilmu komputer terdapat berbagai struktur data dasar
diantaranya tumpukan(stack), antrian(queue),untaian(linked list), dan
pohon(tree). Dalam postingan kali ini saya aka membahas mengenai struktur data
stack. Struktur stack adalah struktur yang meniru bagaimana proses menyimpan
dan mengambil satu buku pada suatu tumpukan. Proses menyimpan biasa disebut
push. Dan proses mengambil di sebut pop. Dalam sturktur ini terjadi urutan
LIFO(Last In First Out). Inilah contoh scriptnya J.
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<malloc.h>
typedef struct nod{int data;
nod
*next;} NOD,*NODPTR;
void CiptaStack(NODPTR *s)
{
*s=NULL;
}
NODPTR NodBaru()
{
clrscr();
NODPTR n;
int nilai;
printf("Masukkan Sebuah Bilangan Bulat:
");
scanf("%d",&nilai);
n=(NODPTR)
malloc(sizeof(nod));
if(n!=NULL)
{
n->data=nilai;
n->next=NULL;
}
return n;
}
void SisipStack(NODPTR *s,NODPTR t)
{
t->next=*s;
*s=t;
}
void CetakStack(NODPTR s)
{
NODPTR ps;
clrscr();
if(s!=NULL)
{
for(ps=s;ps!=NULL;ps=ps->next)
printf("%d->",ps->data);
printf("NULL\n");
getch();
}
else
{
printf("Stack Kosong");
getch();
}
}
void HapusStack(NODPTR p)
{
NODPTR q;
for(q=p;q!=NULL;)
{
p=p->next;
free(q);
q=p;
}
}
void BacaData(NODPTR *p)
{
NODPTR pt;
clrscr();
if(*p!=NULL)
{
pt=*p;
*p=pt->next;
printf("Data
yang dibaca adalah %d",pt->data);
free(pt);
getch();
}
else
{
printf("Stack Kosong");
getch();
}
}
void main()
{
NODPTR pel,n;
int pil;
CiptaStack(&pel);
do
{
clrscr();
printf("Pilihan:\n");
printf("[1]Push\n");
printf("[2]Pop\n");
printf("[3]Cetak Stack\n");
printf("[4]Keluar\n");
printf("Masukkan Pilihan: ");
scanf("%d",&pil);
switch(pil)
{
case
1:n=NodBaru();
SisipStack(&pel,n);
break;
case
2:BacaData(&pel);
break;
case
3:CetakStack(pel);
break;
}
}
while(pil!=4);
HapusStack(pel);
getch();
0 komentar:
Posting Komentar