Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Operasi pada queue
1. Operasi pada Queue
Disini akan dijelaskan sedikit mengenai implementasi Queue dengan Premtive
(Prioritas).
Tanpa basa basi langsung aja ke codenya:
Pertama ketik code dibawah ini, dan simpan sebagai interface.h:
#include<stdio.h>
#include<stdlib.h>
#define Error(Str) FatalError(Str)
#define FatalError(Str) fprintf(stderr, "%sn", Str), exit(1)
Lalu simpan code dibawah dengan file queue.h:
#ifndef _Queue_h
#define _Queue_h
typedef int ElementType;
struct QueueRecord;
typedef struct QueueRecord *Queue;
Queue CreateQueue(int MaxElements);
void Enqueue(ElementType X, Queue Q);
ElementType Front(Queue Q);
void Dequeue(Queue Q);
void Preemptive(ElementType X, Queue Q);
void DisposeQueue(Queue Q);
void MakeEmpty(Queue Q);
int IsEmpty(Queue Q);
2. int IsFull(Queue Q);
#endif
Kemudian ketikkan code dibawah sebagai implementasi dan simpan file dengan
queue.c:
#include "queue.h"
#include "fatal.h"
#include <stdlib.h>
struct QueueRecord{
int Capacity;
int Front;
int Rear;
int Size;
ElementType *Array;
};
static int Succ(int value, Queue Q);
void Enqueue(ElementType X, Queue Q){
if(IsFull(Q))
Error("Full Queue");
else{
Q->Size++;
Q->Array[Q->Rear]=X;
Q->Rear = Succ(Q->Rear,Q);
}
}