コード例 #1
0
void Add(Queue *Q, infotype_dadu X)
/* Menambahkan X sebagai elemen Queue Q */
/* I.S. Q mungkin kosong, tabel penampung elemen Q tidak penuh */
/* F.S. X menjadi TAIL yang baru, TAIL "maju" */
{
    if (IsEmpty(*Q))
    {
        Head(*Q) = 1;
    }
    Tail(*Q)++;
    InfoTail(*Q) = X;
}
コード例 #2
0
ファイル: monopoly.c プロジェクト: Zonkies/Tubes-Alstrukdat
/* *** Operator-Operator Dasar Queue *** */
void Add (Queue *Q, infotype X)
/* Proses : Menambahkan  X pada Q dengan aturan FIFO */
/* I.S. Q mungkin kosong, tabel penampung elemen Q TIDAK penuh */
/* F.S. X menjadi TAIL yang baru, TAIL "maju" */
{
    if(IsEmpty(*Q))
    {
        Head(*Q)=1;
    }
    Tail(*Q)++;
    InfoTail(*Q)=X;
}
コード例 #3
0
ファイル: BFS.c プロジェクト: sorlawan/routeplanningEV3
void Add (Queue *Q,infotype X)
{
	if (IsEmpty(*Q))
	{
		Tail(*Q) = 1;
		Head(*Q) = 1;
	}
	else
	{
		Tail(*Q) += 1;
		if (Tail(*Q) == (*Q).MaxEl + 1) Tail(*Q) = 1;
	}
	InfoTail(*Q) = X;
}
コード例 #4
0
void Add (Queue * Q, infotype X) {
	/*Kamus Lokal*/
	int i;
	/*Algoritma*/
	if (IsEmpty(*Q)) {
		Head(*Q) = 1;
		Tail(*Q) = 1;
	} else {
		Tail(*Q)+=1;
		if (Tail(*Q) > (*Q).MaxEl) {
			for (i = Head(*Q); i<Tail(*Q); i++) {
				(*Q).T[i-Head(*Q)+1] = (*Q).T[i];
			}
			Tail(*Q) = 1+(Tail(*Q)-Head(*Q));
			Head(*Q) = 1;
		}
	}
	InfoTail(*Q) = X;
}
コード例 #5
0
/* *** Primitif Add/Delete *** */
void Add(Queue *Q, infotypeQueue X)
/* Proses: Menambahkan X pada Q dengan aturan FIFO */
/* I.S. Q mungkin kosong, tabel penampung elemen Q TIDAK penuh */
/* F.S. X menjadi TAIL yang baru, TAIL "maju" dengan mekanisme circular buffer */
{
    if (IsEmptyQueue(*Q))
    {
        Head(*Q) = 1;
        Tail(*Q) = 1;
    }
    else if (Tail(*Q) == MaxEl(*Q))
    {
        Tail(*Q) = 1;
    }
    else
    {
        ++Tail(*Q);
    }

    InfoTail(*Q) = X;
}
コード例 #6
0
ファイル: queue.c プロジェクト: miftahulmahfuzh/ADT
void Add (Queue *Q,infotype X)
/* Proses  Menambahkan X pada Q dengan aturan FIFO */
/* I.S. Q mungkin kosong, tabel penampung elemen Q TIDAK penuh */
/* F.S. X menjadi TAIL yang baru, TAIL "maju". */
/*
Jika TAIL baru = MaxEl + 1, maka TAIL diset = 1. */
{
	/*kamus lokal*/

	/*algoritma*/ 
	if (IsEmpty(*Q))
	{	
		Tail(*Q) = 1;
		Head(*Q) = 1;
	}
	else
	{		
		Tail(*Q) += 1;
		if (Tail(*Q) == (*Q).MaxEl + 1) Tail(*Q) = 1;
	}
	InfoTail(*Q) = X;
}