Kali ini saya memosting algoritma antrian (QUEUE) dengan menggunakan aplikasi C++. Semoga dapat memberikan manfaat :)
#define MAX_QUEUE_SIZE 5
#include <stdio.h>
typedef struct {
int key;
} element;
void initialize( int* front, int* length )
{ *front = *length = 0; }
int queueempty( int length ) /* Check queue empty */
{ return length == 0; }
int queuefull( int length )/* Check queue full */
{ return length == MAX_QUEUE_SIZE; }
void enqueue( int front, int* length, element queue[], element item )
{
int where;
if ( !queuefull( *length ) ) {
where = front + *length;
queue[ where % MAX_QUEUE_SIZE ] = item;
(*length)++;
}
}
element dequeue( int* front, int* length, element queue[] )
{
int where;
if ( !queueempty( *length ) ){
where = *front;
*front = (where+1) % MAX_QUEUE_SIZE;
(*length)--;
return queue[where];
}
}
void printqueue ( element queue[], int front, int length )
{
int i;
for (i=0; i<length; i++)
printf("%d ",queue[(front+i) % MAX_QUEUE_SIZE].key);
printf("\n");
}
int main(void)
{
element queue[MAX_QUEUE_SIZE];
int front, length;
element item;
int i;
initialize(&front, &length);
item.key = 0;
for (i=0; i<MAX_QUEUE_SIZE; i++) {
enqueue(front, &length, queue, item);
item.key++;
printqueue(queue, front, length);
}
for (i=0; i<MAX_QUEUE_SIZE; i++) {
printqueue(queue, front, length);
item = dequeue(&front, &length, queue);
}
}
setelah selesai dan d Run, maka hasilnya adalah sbb..
Selamat Mencoba :)
0 komentar:
Posting Komentar