Lompat ke konten Lompat ke sidebar Lompat ke footer

Linear Queue call, Insert dan Delete C/C++ (STRUKTUR DATA)

Melanjutkan Bab Sebelumnya sobat setelah sebelumnya kita bahas Progam STACK dengan PUSH dan POP  kali ini kita akan memasuki bab Queue atau Antrian pada Struktur Data C/C++ . Berikut ini contoh soalnya;
Buatlah salah satu contoh program Linear Queue, untuk call function Awal, Insert dan
Delete.

Script Progam Linear Queue call, Insert dan Delete C/C++ (STRUKTUR DATA)
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#define MAXSTACK 10


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

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

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

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

void isi(itemType y, Stack *s)
{ //isi
clrscr();
if(penuh(s))
{
clrscr();
printf("\n\tMaaf.! Stack penuh\n");
}
else
{
s->item[s->sugeng152]=y;
++(s->sugeng152);
}
}

void ambil(Stack *s, itemType *x)
{ //pop
if(kosong(s))
printf("\n\tMaaf, Stack kosong\n");
else
{
--(s->sugeng152);
*x=s->item[s->sugeng152];
s->item[s->sugeng152]=0;
printf("\n\tData %i berhasil diambil\n",*x);
}
}

void tampil(Stack *s)
{
int x=s->sugeng152;
if(kosong(s))
printf("\n\tMaaf.! Stack kosong\n");
else
{
printf("\n");
printf("Data yang dimasukkan berjumlah : %d\n",x);
printf("=======================================\n");
for(int i=s->sugeng152-1; i>=0; i--)
printf("\tData ke[%d]\t: %.0f\n",i,s->item[i]);
printf("\n=======================================\n");
}
}


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

back:
clrscr();
printf("iswanto\n");
printf("2011 B - 1412110152\n");
printf("\t===============================\n");
printf("\t____________MENU_____________\n");
printf("\n\t1. Isi[PUSH]");
printf("\n\t2. Ambil[POP]");
printf("\n\t=============================");
printf("\n\n\tMasukkan pilihan: ");
scanf("%d",&pil);

switch(pil)
{
case 1:
ok:
clrscr();
tampil(&tumpukan);
printf("\n\tMasukkan data: ");
scanf("%i",&data);
if(data==999)
{
printf("\n\n\tProses Selesai..");
getch();
goto back;
}
else if(data<60)
{
tampil(&tumpukan);
printf("\n\n\tPress any key to continue..");
getch();
goto back;
}else
{
isi(data,&tumpukan);
tampil(&tumpukan);
printf ("\n\n\tIsi Data Lagi [Y/T]? : ");
ulang:
lagi = getchar();
if(lagi=='T' || lagi=='t')
{
goto back;
}
else if(lagi=='Y' || lagi=='y')
{
goto ok;
}
else if(lagi!='T' || lagi!='t'||lagi!='Y' || lagi!='y')
{
goto ulang;
}
}
break;

case 2:
ambil(&tumpukan,&data);
printf("\n\n\tPress any key to continue..");
getch();
goto back;
break;
default:
clrscr();
printf("\tPilihan Tidak tersedi.!");
printf("\n\n\tPress any key to continue..");
getch();
goto back;
break;
}


}

Output Progam Linear Queue call, Insert dan Delete C/C++ (STRUKTUR DATA)
 Melanjutkan Bab Sebelumnya sobat setelah sebelumnya kita bahas  Linear Queue call, Insert dan Delete C/C++ (STRUKTUR DATA)

Posting Komentar untuk "Linear Queue call, Insert dan Delete C/C++ (STRUKTUR DATA)"