Nah kali ini saya akan membagi post test saya dengan judul queue pada struktur data
contoh tampilan seperti beriku
contoh tampilan seperti beriku
screenshoot
nah ini script lengkapnya:
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#define MAX 10
using namespace std;
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(IsEmpty()==1)
{
antrian.head=antrian.tail=0;
antrian.data[antrian.tail]=data;
cout<<"Data "<<antrian.data[antrian.tail]<<" Masuk!!";
}
else if(IsFull()==0)
{
antrian.tail++;
antrian.data[antrian.tail]=data;
cout<<"Data "<<antrian.data[antrian.tail]<<" Masuk!!";
}
else if (IsFull() == 1)
{
cout<<"Maaf, penuh"<<endl;
cout<<data<<" Data tidak masuk";
}
}
void Dequeue()
{
int i;
int e = antrian.data[antrian.head];
if (antrian.tail == -1)
{
cout<<"Data Kosong"<<endl;
}
else
{
for(i=antrian.head;i<=antrian.tail-1;i++)
{
antrian.data[i] = antrian.data[i+1];
}
antrian.tail--;
cout<<"Data yang Keluar lebih dulu = "<<e<<endl;
}
}
void Clear()
{
antrian.head=antrian.tail=-1;
cout<<"Data dihapus"<<endl;
}
void Tampil()
{
if(IsEmpty()==0)
{
cout<<"Data Dalam Antrian"<<endl;
cout<<"==========================="<<endl;
cout<<endl;
for(int i=antrian.head;i<=antrian.tail;i++)
{
cout<<"| "<<antrian.data[i]<<" |";
}
}
else cout<<"Data Kosong";
}
main()
{
int pil;
int data;
Create();
do
{
system("cls");
cout<<"Queue data berupa INT"<<endl;
cout<<"=================================="<<endl;
cout<<endl;
cout<<"1. Masukkan data"<<endl;
cout<<"2. Hapus data"<<endl;
cout<<"3. Cetak"<<endl;
cout<<"4. Hapus semua"<<endl;
cout<<"5. Keluar"<<endl;
cout<<"Pilihan Anda= "; cin>>pil;
switch(pil)
{
case 1:
{
cout<<endl;
cout<<"Data = "; cin>>data;
Enqueue(data);
break;
}
case 2:
{
cout<<endl;
Dequeue();
break;
}
case 3:
{
cout<<endl;
Tampil();
break;
}
case 4:
{
cout<<endl;
Clear();
break;
}
}
getch();
} while(pil!=5);
}
semoga bermanfaat untuk sourcodenya silakan di coba
