迴圈佇列操作實現

2021-04-26 17:01:39 字數 1328 閱讀 1252

/*

該實現front始終指向當前的頭結點,rear始終指向尾結點的

下乙個結點*/#

include

#include

#define maxnum 10

#define datatype int

typedef

struct

queue

queue

;void initqueue(

queue

** p)

}int emptyqueue(

queue

** p)

void enqueue(

queue

** p, datatype x)

//將x插入隊尾

(*p)

->

queue[(

*p)-

>rear]

= x;

(*p)

->rear =((

*p)-

>rear+1)

%maxnum;

}void delqueue(

queue

** p, datatype* x)

//刪除佇列頭元素,用x返回

*x =

(*p)

->

queue[(

*p)-

>front];(

*p)-

>front =((

*p)-

>front+1)

%maxnum;

}void firstqueue(

queue

** p, datatype* x)

//返回佇列頭元素

void prqueue(

queue

** p)

//列印佇列元素

printf

("/n");

}int main(

int argc,

char

** argv)

***/

prqueue(

&p);

for(i = 0; i < 3; i++)

printf

("/n");

enqueue(

&p,'*');

enqueue(

&p,'$');

prqueue(

&p);

firstqueue(

&p,&c)

;printf

("first queue is %c/n"

, c)

;exit

(0);

}

佇列的操作與實現 迴圈佇列

由於順序佇列有 假溢位 的缺點,所以在應用中,運用更多的是迴圈佇列來實現佇列的順序儲存。由於引用傳引數,所以原始檔需要.cpp字尾,即c 檔案儲存。迴圈佇列的判空條件為 q.rear q.fornt 迴圈佇列的判讀隊滿的條件是 q.rear 1 maxsize q.fornt 下面是佇列實現的儲存型...

迴圈佇列的基本操作實現

front 指向隊頭元素的前乙個單元 rear 指向隊尾元素 maxsize 陣列的最大長度 元素入隊的時候,將隊尾的指標加1,然後元素入隊 元素出隊時,先將對頭指標加1,然後元素出隊。隊頭指標進1 front front 1 maxsize 隊尾指標進1 rear rear 1 maxsize 在...

迴圈佇列操作

1.首先分配迴圈佇列的位址空間,用q表示,分配好頭指標 尾指標。int init queue q,m,rear,front,s int q int m int rear int front int s 2.往佇列中加入成員資料 用 s判斷佇列是否滿?如果不滿資料進佇列,尾指標移動乙個單位 void ...