coding stack &queue
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#define MAX 6
typedef struct{
int data [MAX];
int head;
int tail;
} queue;
queue antrian;
void Create()
{
antrian.head=antrian.tail=-1;
}
int IsEmpty(){
if(antrian.tail==-1) return 1;
else return 0;
}
int IsFull(){
if(antrian.tail==MAX-1) return 1;
else return 0;
}
void Enqueue(int data){
if(IsFull()==0){
if(IsEmpty()==1){
antrian.head=antrian.tail=0;
antrian.data[antrian.tail]=data;
printf("%d masuk !",antrian.data[antrian.tail]);
}else{
antrian.tail++;
antrian.data[antrian.tail]=data;
printf("%d masuk !", antrian.data[antrian.tail]);
}
}else{
printf("Data penuh!");
}
}
int Dequeue(){
int i;
int e=antrian.data[antrian.head];
for(i=antrian.head; i<=antrian.tail-1; i++){
antrian.data[i]=antrian.data[i+1];
}
antrian.tail--;
return e;
}
void Clear(){
antrian.head=antrian.tail=-1;
printf("Data Clear");
}
void Tampil(){
if (IsEmpty()==0){
for (int i=antrian.head;i<=antrian.tail; i++){
printf("%d ",antrian.data[i]);
}
}else{
printf("Data Kosong\n");
}
}
void main(){
int pil;
int data;
Create();
do{
clrscr();
printf ("\n============MENU PILIHAN============\n");
printf ("1. Enqueue\n");
printf ("2. Dequeue\n");
printf ("3. Tampil\n");
printf ("4. Clear\n");
printf ("5. Keluar\n");
printf ("--------------------------------------\n");
printf ("Masukkan Pilihan Anda -> ");
scanf("%d",&pil);
switch(pil){
case 1: printf("Data : ");
scanf("%d",&data);
Enqueue(data);
break;
case 2: printf("Elemen yang keluar : %d", Dequeue());
break;
case 3: Tampil();
break;
case 4: Clear();
break;
case 5: clrscr();
gotoxy(28,10);printf(" Present By : ");
gotoxy(30,11);printf("\"Asdos ASD 2013\"\n");
getch();
_exit(0);
break;
default: printf("Pilihan tidak ada !");
}
getch();
}while(pil!=5);
}
#include <conio.h>
#include <stdlib.h>
#define MAX 6
typedef struct{
int data [MAX];
int head;
int tail;
} queue;
queue antrian;
void Create()
{
antrian.head=antrian.tail=-1;
}
int IsEmpty(){
if(antrian.tail==-1) return 1;
else return 0;
}
int IsFull(){
if(antrian.tail==MAX-1) return 1;
else return 0;
}
void Enqueue(int data){
if(IsFull()==0){
if(IsEmpty()==1){
antrian.head=antrian.tail=0;
antrian.data[antrian.tail]=data;
printf("%d masuk !",antrian.data[antrian.tail]);
}else{
antrian.tail++;
antrian.data[antrian.tail]=data;
printf("%d masuk !", antrian.data[antrian.tail]);
}
}else{
printf("Data penuh!");
}
}
int Dequeue(){
int i;
int e=antrian.data[antrian.head];
for(i=antrian.head; i<=antrian.tail-1; i++){
antrian.data[i]=antrian.data[i+1];
}
antrian.tail--;
return e;
}
void Clear(){
antrian.head=antrian.tail=-1;
printf("Data Clear");
}
void Tampil(){
if (IsEmpty()==0){
for (int i=antrian.head;i<=antrian.tail; i++){
printf("%d ",antrian.data[i]);
}
}else{
printf("Data Kosong\n");
}
}
void main(){
int pil;
int data;
Create();
do{
clrscr();
printf ("\n============MENU PILIHAN============\n");
printf ("1. Enqueue\n");
printf ("2. Dequeue\n");
printf ("3. Tampil\n");
printf ("4. Clear\n");
printf ("5. Keluar\n");
printf ("--------------------------------------\n");
printf ("Masukkan Pilihan Anda -> ");
scanf("%d",&pil);
switch(pil){
case 1: printf("Data : ");
scanf("%d",&data);
Enqueue(data);
break;
case 2: printf("Elemen yang keluar : %d", Dequeue());
break;
case 3: Tampil();
break;
case 4: Clear();
break;
case 5: clrscr();
gotoxy(28,10);printf(" Present By : ");
gotoxy(30,11);printf("\"Asdos ASD 2013\"\n");
getch();
_exit(0);
break;
default: printf("Pilihan tidak ada !");
}
getch();
}while(pil!=5);
}
Komentar
Posting Komentar