?? seqcqueue.h
字號:
//隊列的線性算法
typedef struct
{
Data queue[MaxSize];
int front;
int rear;
int count;
}SeqCQueue;
void QueueInitiate (SeqCQueue *Q)
{
Q->count=0;
Q->front=0;
Q->rear=0;
return;
}
int QueueNotEmpty(SeqCQueue Q)
{
if(Q.count<=0)
return 0;
else return 1;
}
int QueueAppend(SeqCQueue *Q,Data x)
{
if(Q->count>0&&Q->rear==Q->front)//*
{
printf("隊列已滿\n");
return 0;
}
else{
Q->queue[Q->rear]=x;
Q->rear=(Q->rear+1)%MaxSize;
Q->count++;
return 1;
}
}
int QueueDelete(SeqCQueue *Q,Data *x)
{
if(Q->count<=0)
{
printf("隊列已空\n");
return 0;
}
else {
*x=Q->queue[Q->front];
Q->front=(Q->front+1)%MaxSize;
Q->count--;
return 1;
}
}
int QueueGet(SeqCQueue Q,Data *x)
{
if(Q.count<=0)
{
printf("隊列已空\n");
return 0;
}
else {
*x=Q.queue[Q.front];
return 1;
}
}
//注意:隊列的特殊之自主,一般隊列不用順序線性結構來構造 ;因為它隊尾進隊頭出的特點,
// 很容易造成{假溢出}的現象,故一般用循環順序隊列 ;而在這種循環的程序書寫中要注意兩點:
//1。當插入(刪除)一個數據時不是直接將隊尾(隊頭)指針加一,而是與最大內空間取模后加一;
//2。隊空與不空最后都是隊尾和隊頭指針重合,區分它們可有多種方法,最常用的是增設一個計數變量,來加以區分
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -