?? sqqueue.c
字號:
/*
* 作者:antigloss
* 最后修改:05-9-7 19:30
* 螞蟻的 C/C++ 標準編程
* cpp.ga-la.com
*/
#include <stdio.h>
#include <stdlib.h>
#include "../header/sqqueue.h"
/* begin of DeQueue 05-9-7 19:10 */
int DeQueue(SqQueue *Q) /* 出隊 */
{
if ( Q->front == Q->rear ) {
return 0; /* 隊空 */
}
Q->front = ++Q->front % MAXSIZE;
return 1;
} /* end of DeQueue */
/* begin of Destroy 05-9-7 19:20 */
void Destroy(SqQueue *Q) /* 銷毀隊列 */
{
free(Q->base);
Q->base = NULL;
Q->front = Q->rear = 0;
} /* end of Destroy */
/* begin of EnQueue 05-9-7 19:05 */
int EnQueue(SqQueue *Q, ElemType e) /* 入隊 */
{
if ( (Q->rear + 1) % MAXSIZE == Q->front ) {
return 0; /* 隊滿(此判斷隊滿法的代價是,少利用一個空間) */
}
Q->base[Q->rear] = e;
Q->rear = ++Q->rear % MAXSIZE;
return 1;
} /* end of EnQueue */
/* begin of InitQueue 05-9-7 19:00 */
int InitQueue(SqQueue *Q) /* 建立空隊列 */
{
Q->base = malloc( MAXSIZE * sizeof *Q->base );
if (!Q->base) {
return 0;
}
Q->front = Q->rear = 0;
return 1;
} /* end of InitQueue */
/* begin of Length 05-9-7 17:15 */
unsigned Length(SqQueue *Q) /* 隊列長度 */
{
return (Q->rear - Q->front + MAXSIZE) % MAXSIZE;
} /* end of Length */
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -