- queue, untuk memasukan simpul baru ke antrian
- dequeue, menghapus simpul yang paling depan
- isEmpty, mengecek apakah antrian dalam keadaan kosong
- makeEmpty, mengosongkan antrian
Berikut adalah kode program yang saya buat dengan antrian sebagai sebuah struktur.
#include <iostream> #include <string> using namespace std; /* * Membuat struktur sebuah simpul terdiri dari * data : string menyimpan informasi simpul (nama orang) * node : pointer bertipe node menyimpan alamat ke simpul berikutnya * * pFront menyimpan alamat simpul yang paling depan * pRear menyimpan alamat simpul yang paling belakang */ struct node { string data; node *next; }*pFront, *pRear; /* * Fungsi queue menambah simpul baru dalam antrian * @param data nama baru yang akan dimasukan dalam antrian */ void queue(const string data) { node *newNode; // membuat simpul baru newNode = new node; newNode->data = data; newNode->next = NULL; if(!pFront) { //cek jika antrian masih kosong pFront = newNode; } else { pRear->next = newNode; } pRear = newNode; } /* * Fungsi dequeue menghapus simpul yang paling depan dalam antrian */ void dequeue() { node *delNode; delNode = pFront; pFront = pFront->next; delete delNode; } /* * Fungsi show menampilkan seluruh isi antrian */ void show() { node *buffNode; buffNode = pFront; while(buffNode) { cout << buffNode->data << endl; buffNode = buffNode->next; } cout << endl; } /* * Fungsi utama */ int main(int argc, char* argv[]) { pFront = pRear = NULL; queue("jimmy"); queue("dewa"); queue("otto"); queue("alan"); show(); dequeue(); queue("jimmy"); show(); return 0; }
Koding ini saya buat dengan IDE Codeblock dan Compiler MINGW, yang mana kombinasi codeblock dan mingw menurut saya, bagus buat freeware yang powerful.
Demikian post saya kali ini, tentang struktur data antrian.. sampai jumpa di post berikutnya :D
Tidak ada komentar:
Posting Komentar