High Fashioners Issue # 2 | страница 227

J. E. N. I.
3.3.3 Queues
Queues adalah contoh lain dari ADT. Hal ini merupakan perintah pengumpulan data yang disebut“ first-in, first-out”. Aplikasi ini meliputi jadwal pekerjaan dalam operating system, topological sorting dan graph traversal.
Enqueue dan dequeue merupakan operasi yang dihubungkan dengan queues. Enqueu menunjuk pada memasukkan data pada akhir queue dimana dequeue berarti memindahkan elemen dari queue tersebut. Untuk mengingat bagaimana queue bekerja, ingatlah arti khusus dari queue yaitu baris. Berikut ini bagaimana cara kerja queue. Siapa yang akan mendapatkan kesempatan pertama untuk bertemu bintang idolanya dari mereka yang sedang menunggu dalam sebuah barisan? Seharusnya orang pertama yang berada pada barisan tersebut. Orang ini mendapat kesempatan pertama untuk meninggalkan barisan. Hubungkan hal tersebut dengan bagaimana queue bekerja.
Berikut ini merupakan ilustrasi dari bagaimana tampilan dari queue.
0 1 2 3 4 5 6 7 8 9... n-1 Eve Jayz KC Jojo Toto Kyla DMX
fron t
Tabel 1.2.3: Ilustrasi Queue end � Insert �
Delete
Queue akan kosong jika nilai end kurang dari front. Sementara itu, akan penuh jika end sama dengan n-1.
3.3.4 Sequential and Linked Representation
ADTs biasanya dapat diwakilkan menggunakan sequential dan linked representation. Hal ini memudahkan untuk membuat sequential representation dengan menggunakan array. Bagaimanapun juga, masalah dengan menggunakan array adalah pembatasan size, yang membuatnya tidak fleksibel. Dengan menggunakan array, sering terjadi kekurangan atau kelebihan space memory. Mempertimbangkan hal tersebut, Anda harus membuat sebuah array dan mendeklarasikannya agar mampu menyimpan 50 elemen. Jika user hanya memasukkan 5 elemen, maka 45 space pada memory akan sia-sia. Disisi lain, jika user ingin memasukkan 51 elemen, space yang telah disediakan didalam array tidak akan cukup.
Dibandingkan dengan sequential representation, linked representation lebih sedikit rumit tetapi lebih fleksibel. Linked representation menyesuaikan memory yang dibutuhkan oleh user. Penjelasan lebih lanjut pada linked representation akan didiskusikan pada bab berikutnya.
3.3.5 Sequential Representation dari Integer Stack
class SeqStack {
int top =-1;
/* initially, the stack is empty */
int memSpace [];
/* storage for integers */
int limit;
/* size of memSpace */
Pengenalan Pemrograman 2 6