• Tidak ada hasil yang ditemukan

MODUL 6 QUEUE

N/A
N/A
Protected

Academic year: 2022

Membagikan "MODUL 6 QUEUE"

Copied!
3
0
0

Teks penuh

(1)

MODUL 6 QUEUE

Pada tabel berikut ditunjukkan kode queue.cpp.

#include <stdio.h>

#include <conio.h>

#include <stdlib.h>

//definisi tipe data queue dan node struct node {

int data;

struct node *next;

};

typedef struct node node;

struct queue { int count;

node *front;

node *rear;

};

typedef struct queue queue;

//definisi fungsi queue createQueue(void);

int enqueue(int data, queue *myQueue);

node *createNode(void);

int dequeue(queue *myQueue);

void destroy(queue *myQueue);

void display(queue myQueue);

//bagian utama program void main(void){

int choice,num, success;

queue myQueue;

myQueue = createQueue();

while(1){

printf("\n\t\t MENU\n1. Enqueue\n2. Dequeue\n3. Display\n4. Exit\n");

printf("\n\tEnter your choice: ");

scanf("%d",&choice);

switch(choice){

case 1:

printf("\nElement to be enqueued:");

scanf("%d",&num);

success = enqueue(num, &myQueue);

if (success == 0){

printf("operasi enqueue gagal");

getch();

} break;

case 2:

num = dequeue(&myQueue);

if (num != -99)

printf("\nElement dequeued: %d ",num);

getch();

break;

case 3:

display(myQueue);

break;

case 4:

destroy(&myQueue);

exit(1);

default: printf("\nInvalid Choice\n"); break;

} } } //fungsi

queue createQueue(void){

queue myQueue;

(2)

myQueue.count = 0;

myQueue.front = NULL;

myQueue.rear = NULL;

return(myQueue);

}

int enqueue(int data, queue *myQueue){

}

node *createNode(void){

node *newPtr;

newPtr = (node *)malloc(sizeof(newPtr));

return(newPtr);

}

int dequeue(queue *myQueue){

}

void destroy(queue *myQueue){

node *temp;

while (myQueue->count != 0){

temp = myQueue->front;

myQueue->front = myQueue->front->next;

free(temp);

}

myQueue->count = 0;

myQueue->front = NULL;

myQueue->rear = NULL;

}

void display(queue myQueue){

node *temp;

temp = myQueue.front;

printf("elemen queue dari front ke rear : \n");

while(temp){

printf("%d\n", temp->data);

temp = temp->next;

} }

1. Modifikasilah queue.cpp sehingga operasi enqueue dan dequeue berjalan dengan benar. Algoritma enqueue ditunjukkan pada tabel berikut.

1.

if (queue full) 1. success = 0 2. end if

3. allocate (newPtr) 4. newPtr->data = data

5.

newPtr->next = NULL

6.

if (queue empty)

1.

queue.front = newPtr 7. else

1. set next dari rear ke newPtr 8. end if

(3)

9. set queue rear ke newPtr 10. increment queu count 11. success = 1;

12. return(success)

Algoritma operasi dequeue ditunjukkan pada tabel berikut

1.

if (queue empty) 2. return(-99) 3. end if

4. allocate (newPtr) 5. newPtr->data = data

6.

newPtr->next = NULL

7.

if (queue empty)

8.

queue.front = newPtr 9. else

10. set next dari rear ke newPtr 11. end if

12. set queue rear ke newPtr 13. increment queu count 14. success = 1;

i. return(success)

2. Gambarkan keadaan queue ketika data-data berikut dienqueue 2, 7, 1, 89, 5 3. Gambarkan keadaan queue ketika data-data berikut didequeue 7, 1, 5 dari queue 4. Jelaskan cara kerja fungsi destroy dan display

5. Buatlah program untuk menampilkan data queue secara terbalik dengan bantuan

sebuah stack

Referensi

Dokumen terkait

Merariq adalah suatu tradisi perkawinan yang unik dimana seorang laki- laki harus melarikan atau menculik si gadis sebelum melakukan ritual pernikahan. Merariq ini umum

[r]

Sementara anomali total relatif tinggi (notasi ungu) di bagian tengah dan selatan daerah penelitian diduga merupakan efek dari polarisasi batuan yang bersifat magnetik pada zona

Lembaga ini akan yang menjadi lembaga yang adil bagi perempuan, hanya bila laki-laki dan perempuan bekerja sama secara setara untuk mencapai apa yang mer- eka

Tujuan pendidikan nasional secara formal di Indonesia telah beberapa kali mengalami perumusan atau perubahan, dan rumusan tujuan pendidikan nasional yang terakhir seperti

• Waktu istirahat diberikan untuk setiap anggota kelompok agar dapat memikirkan gagasan yang baru berdasarkan dari gagasan temannya dan menuliskannya pada kartu

besarnya pengaruh antara Kemampuan verbal, Kemampuan berhitung dan Motivasi Belajar terhadap hasil belajar akuntansi siswa kelas XI SMA Negeri 7 Semarang 2010/2011 secara

• Berdasarkan hasil perhitungan diketahui bahwa nilai koefisien model regresi berganda pada Contoh Kasus 3.2 adalah β0=9.4401, β1=0.6426 dan β3=0.2190.. Seperti halnya