PROGRAM QUEUE DALAM BAHASA C#

PROGRAM QUEUE DALAM BAHASA C#

d

Pada postingan sebelumnya sudah dijelaskan tentang QUEUE Dalam Bahasa C#, untuk kali ini kita akan membuat Program Queue dalam Bahasa C#.

Untuk praktiknya menggunakan aplikasi Devcpp.

DOWNLOAD DISINI : DEVCPP

//ylx-4.com/fullpage.php?section=General&pub=139976&ga=g

Untuk membuat Program Queue kita akan membuat 4 file header, yaitu :

  1. queue.h
  2. queue.h
  3. queue.c
  4. mqueue.c

Keempat file tersebut harus disave dalam 1 folder!

1. boolean.h
/* File: boolean.h */
#ifndef BOOLEAN_H
#define BOOLEAN_H
#define boolean unsigned char
#define true 1
#define false 0
#endif
2. queue.h
/*File : queue.h */
#ifndef queue_H
#define queue_H
#include “boolean.h”
#include <stdlib.h>
#define Nil -1
typedef int infotype;
typedef int address;
typedef struct {infotype * T;
address HEAD;
address TAIL;
int MaxEl;
}Queue;
#define Head(Q) (Q).HEAD
#define Tail(Q) (Q).TAIL
#define InfoHead(Q) (Q).T[(Q).HEAD]
#define InfoTail(Q) (Q).T[(Q).TAIL]
#define MaxEl(Q) (Q).MaxEl
boolean IsEmpty (Queue Q);
boolean IsFull (Queue Q);
int NBElmt (Queue Q);
void CreateEmpty(Queue *Q, int MaxEl);
void DeAlokasi (Queue *Q);
void add (Queue *Q, infotype X);
void Del(Queue *Q, infotype X);
#endif
3. queue.c
/*File : queue.c */
#include “boolean.h”
#include “queue.h”
#include <stdlib.h>
#include <stdio.h>
boolean IsEmpty (Queue Q) {
return ((Head (Q) == Nil && Tail(Q) == Nil) || (Head(Q) == MaxEl(Q)-1 && Head(Q) == 0) || !(Tail(Q) == Head(Q) -1));
}
boolean IsFull (Queue Q) {
return ((Tail(Q) == MaxEl(Q)-1 && Head(Q) == 0) || (Tail (Q) == Head(Q) -1));
}
intNBElmt(Queue Q) {
//printf(“Head Tail : %d %d\n”, Head(Q), Tail(Q));
if (Head(Q) == Nil && Tail(Q) == Nil) {
return 0;
} else if (Head(Q) == Tail(Q)) {
return 1;
} else if (Head(Q) < Tail(Q)){
return Tail(Q) – Head(Q) + 1;
} else {
return (Tail(Q)) + (MaxEl(Q) – Head(Q));
}
}
void CreateEmpty(Queue *Q, int Max) {
MaxEl (*Q) = Max;
Head (*Q) = Nil;
Tail (*Q) = Nil;
Q->T = (int *) malloc (Max *sizeof(int));
}
void DeAlokasi (Queue *Q) {
free(Q->T);
MaxEl(*Q) = 0;
}
void Add (Queue * Q, infotype X) {
printf(“void Add (Queue * Q, infotype X)\n”);
if (Head(*Q) == Nil && Tail(*Q) == Nil) {
Head(*Q) = 0;
Tail(*Q) = 0;
}else if (Tail(*Q) == MaxEl(*Q)-1 && Head(*Q) != 0) {
Tail (*Q) = 0;
} else {
Tail(*Q)++;
}
Q->T[Tail(*Q)] = X;
}
void Del(Queue * Q, infotype X) {
printf(“void Del(Queue * Q, infotype X)\n”);
Q->T[Head(*Q)] = Nil;
if(Head(*Q) == Tail(*Q)) {
Head(*Q) = Nil;
Tail (*Q) = Nil;
}else if(Head(*Q) == MaxEl(*Q)){
Head(*Q) = 0;
}else {
Head(*Q)++;
}
}
4. mqueue.h
/* File : mqueue.c */
#include “queue.h”
#include “queue.c”
#include <stdio.h>
#include <stdlib.h>
int main(){
Queue Q;
infotype X;
printf (“*** PROGRAM QUEUE sugihpamela.pe.hu *** \n\n”);
CreateEmpty(&Q,100);
printf (“QUEUE KOSONG : %d\n”,MaxEl(Q));
printf (“Tail dan Infonya : %d dan %d\n”, Tail(Q), InfoTail(Q));
Add (&Q,3);
printf  (“Tail dan Infonya : %d dan %d\n”, Tail(Q), InfoTail(Q));
Add (&Q,8);
printf  (“Tail dan Infonya : %d dan %d\n”, Tail(Q), InfoTail(Q));
Add (&Q,9);
printf  (“Tail dan Infonya : %d dan %d\n”, Tail(Q), InfoTail(Q));
DeAlokasi(&Q);
return 0;
}

Setelah keempat file tersebut dalam 1 folder, selanjutnya lakukan compile & run pada file mqueue.c, karena file ini merupakan sebuah main program untuk menjalankan program tersebut.

Hasil w

Jika programnya tidak jalan, kemungkinannya tanda kutipnya error, karena beda font, atau bisa langsung saja download programnya.

DISINI

//ylx-4.com/fullpage.php?section=General&pub=139976&ga=g

Semoga Bermanfaat🙂

keyword :
Program QUEUE
Membuat Program QUEUE
Program QUEUE Dalam Bahasa C#
Membuat Program QUEUE Dalam Bahasa C#

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s