Berikut ini adalah sebuah program stack dalam Bahasa C dimana akan terdapat dua menu (Push & Pop) dimana user akan memilih menu tersebut. Jika user memilih menu Push maka user di minta untuk menginputkan elemen dari stack. Jika user memilih Pop maka elemen teratas akan di keluarkan.
#include <stdio.h>
#define MAXSTACK 5
typedef struct{
int item[MAXSTACK];
int count;
} stack;
stack tumpukan;
void init(stack *s) {
printf ("**INISIALISASI**");
s->count=0;
}
int isEmpty(stack *s) {
return (s->count == 0);
}
int isFull(stack *s) {
return (s->count == MAXSTACK);
}
void push(stack *s, int dataIn) {
printf("**PUSH DATA %d \n", dataIn);
if (isFull(s) ==1) {
printf("Stack Sudah Penuh !\n\n");
} else {
s->item[s->count]=dataIn;
(s->count)++;
printf("Berhasil masuk %d \n\n", dataIn);
}
}
void pop (stack *s) {
printf("**POP DATA\n");
if (isEmpty(s)) {
printf ("Stack Kosong !\n");
} else {
int dataOut;
int top=(s->count)-1;
dataOut= s->item[top];
s->item[top]=0;
--(s->count);
printf("\t POP : %d\n",dataOut);
}}
void printStack(stack *s) {
printf("Terdapat %d data : \n\t",s->count);
int i=0;
for (i=MAXSTACK-1;i>=0;i--) {
printf("%d | ", s->item[i]);
}
printf("\n\n");
}
int main () {
int pilihan;
do {
printf ("1.Push\n");
printf ("2.POP\n");
printf ("Pilihan: ");
scanf ("%d", &pilihan);
if (pilihan<1 or pilihan>3)
printf ("\nPilhan Salah, Silahkan Ulangi Lagi.");
if(pilihan<1 or pilihan>3);
switch (pilihan)
{
case 1:
int dataIn;
printf ("\nElemen Push : ");
scanf ("%d", &dataIn);
push (&tumpukan, dataIn);
printStack(&tumpukan);
break;
case 2:
pop (&tumpukan);
if(&tumpukan == 0){
printf("\nStack Kosong\n\n");
} else {
printStack (&tumpukan);
}
break;
default:
printf ("\nExit");
}
} while(pilihan != 3);
return 0; }
Salam Random!
#include <stdio.h>
#define MAXSTACK 5
typedef struct{
int item[MAXSTACK];
int count;
} stack;
stack tumpukan;
void init(stack *s) {
printf ("**INISIALISASI**");
s->count=0;
}
int isEmpty(stack *s) {
return (s->count == 0);
}
int isFull(stack *s) {
return (s->count == MAXSTACK);
}
void push(stack *s, int dataIn) {
printf("**PUSH DATA %d \n", dataIn);
if (isFull(s) ==1) {
printf("Stack Sudah Penuh !\n\n");
} else {
s->item[s->count]=dataIn;
(s->count)++;
printf("Berhasil masuk %d \n\n", dataIn);
}
}
void pop (stack *s) {
printf("**POP DATA\n");
if (isEmpty(s)) {
printf ("Stack Kosong !\n");
} else {
int dataOut;
int top=(s->count)-1;
dataOut= s->item[top];
s->item[top]=0;
--(s->count);
printf("\t POP : %d\n",dataOut);
}}
void printStack(stack *s) {
printf("Terdapat %d data : \n\t",s->count);
int i=0;
for (i=MAXSTACK-1;i>=0;i--) {
printf("%d | ", s->item[i]);
}
printf("\n\n");
}
int main () {
int pilihan;
do {
printf ("1.Push\n");
printf ("2.POP\n");
printf ("Pilihan: ");
scanf ("%d", &pilihan);
if (pilihan<1 or pilihan>3)
printf ("\nPilhan Salah, Silahkan Ulangi Lagi.");
if(pilihan<1 or pilihan>3);
switch (pilihan)
{
case 1:
int dataIn;
printf ("\nElemen Push : ");
scanf ("%d", &dataIn);
push (&tumpukan, dataIn);
printStack(&tumpukan);
break;
case 2:
pop (&tumpukan);
if(&tumpukan == 0){
printf("\nStack Kosong\n\n");
} else {
printStack (&tumpukan);
}
break;
default:
printf ("\nExit");
}
} while(pilihan != 3);
return 0; }
Salam Random!
RSS Feed
Twitter
Sabtu, Juni 28, 2014
Unknown
Posted in
artikelnya bermanfaat kak, ini sya jga punya artikel tentang Stack (tumpukan) dalam Bahasa C, smoga dpt saling melengkapi
BalasHapusStack (tumpukan) dalam Bahasa C
Kumpulan Materi Bahasa C, Lengkap dengan contoh program