Kamis, 23 April 2015

Membuat Antrian/Queue Pada C++

08.48 Posted by Unknown No comments
Ayo kawan belajar C++.
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