QUEUE
02:14 | Author: Unknown

Struktur Data Dengan C++
Antrian dengan Menggunakan Array
Antrian atau queue merupakan salah satu struktur data yang bersifata FIFO (FIRST IN FIRST OUT), artinya yang pertama masuk akan keluar pertama. Misalnya dalam antrian loket, orang yang datang pertama maka akan dilayani pertama kali.
Langsung Saja kita akan menuju ke Pembuatan Programnya

Deklarasi Class
#include
#include

#define max 8
class Queue
{
private:
int data[max];
int head;
int tail;
public:
Queue();
bool isEmpty();
bool isFull();
void enqueu(int insert);
int dequeue();
void clear();
void print();
};
Implementasi Konstruktor
Queue :: Queue()
{
head = -1;
tail = -1;
}
Pertama kali diciptakan nilai head dan tail di inisialisasi dengan nilai -1 (kosong)
Implementasi Method isEmpty() dan isFull()
bool Queue :: isEmpty()
{
if(tail == -1) return 1;
else
return 0;
}
Jika Nilai tail adalah -1 maka antrian tersebut masih kosong dan diberikan nilai kembalian 1, jika tidak maka akan di return 0.
bool Queue :: isFull()
{
if(tail == max -1) return 1;
else
return 0;
}

Jika Nilai tail sama dengan max-1 maka antrian sudah penuh, dan tidak bisa lagi dimasukkan data atau dilakukan pencegahan untuk memasukkan data sebelum ada data yang dihapus.

Implementasi Method Enqueue(int) dan dequeu
void Queue :: enqueu(int insert)
{
//Pengisian data ketika antrian kosong
if(isEmpty() ==1)
{
head = tail = 0;
data[tail] = insert;
cout << "\nData yang telah dimasukkan : " << data[tail];
}
//pengisian data ketika antrian tidak kosong
else if(isFull() == 0)
{
tail++;
data[tail] = insert;
cout << "\nData has been Entry : " << data[tail];
}
getche();
}
Data Yang Lebih Dulu Masuk Akan Dihapus!!!(Ingat Prinsip Antrian) FIF0!!!!!!
int Queue :: dequeue()
{
for(int i = head;i<=tail-1;i++)
{
data[i] = data[i+1];
}
tail--;
return data[head];
}
Implementasi Method Clear
Method clear digunakan untuk menghapus semua data dalam antrian
void Queue :: clear()
{
head = tail = -1;
cout << "Data Dihapus" << endl;
}
Implementasi Method print()
Method print digunakan untuk mencetak antrian yang sudah masuk
void Queue :: print()
{
if(isEmpty() == 0)
{
for(int i = tail;i >= head;i--)
{
cout << data[i] << endl;
}
}
else
{
cout << "Data Kosong" << endl;
}
}

Bagaimana???Mudah kan , HEHEHEHE ^_^
Kalo Ada Kekurangan Dari Materi Di atas Mohon Maklum , Karena Saya Juga Masih Belajar, Kebenaran datangnya dari Allah SWT, dan kesalahan datangnya dari saya,,,!!!!!!!

This entry was posted on 02:14 and is filed under . You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

0 comments: