#include
#include
#define maxsize 100
typedef
struct
//定義順序隊結構體
sqqueue;
void
initqueue
(sqqueue *
&q)//初始化順序隊 initiate 英[ɪˈnɪʃieɪt] 開始, 創始,開闢
void
destroyqueue
(sqqueue *
&q)//銷毀順序隊 destroy [dɪˈstrɔɪ]殺死; 破壞,摧毀;
bool queueempty
(sqqueue *
&q)//判斷是否為空 empty[ˈempti]空的,空虛的,空洞的;
bool enqueue
(sqqueue *
&q,int e)
//進佇列
bool dequeue
(sqqueue *
&q,int
&e)//出佇列
由於順序隊指標front和指標rear都是累加增1的,會出現假溢位的情況,故出現了迴圈佇列。
#include
#include
#define maxsize 100
typedef
struct
//定義順序隊結構體
sqqueue;
void
initqueue
(sqqueue *
&q)//初始化順序隊 initiate 英[ɪˈnɪʃieɪt] 開始, 創始,開闢
void
destroyqueue
(sqqueue *
&q)//銷毀順序隊 destroy [dɪˈstrɔɪ]殺死; 破壞,摧毀;
bool queueempty
(sqqueue *
&q)//判斷是否為空 empty[ˈempti]空的,空虛的,空洞的;
bool enqueue
(sqqueue *
&q,int e)
//進佇列
bool dequeue
(sqqueue *
&q,int
&e)//出佇列
也可以只使用front指標,並用佇列中元素的個數來代替隊尾指標:
#include
#include
#define maxsize 100
typedef
struct
//定義順序隊結構體
sqqueue;
void
initqueue
(sqqueue *
&q)//初始化順序隊 initiate 英[ɪˈnɪʃieɪt] 開始, 創始,開闢
void
destroyqueue
(sqqueue *
&q)//銷毀順序隊 destroy [dɪˈstrɔɪ]殺死; 破壞,摧毀;
bool queueempty
(sqqueue *
&q)//判斷是否為空 empty[ˈempti]空的,空虛的,空洞的;
bool enqueue
(sqqueue *
&q,int e)
//進佇列
bool dequeue
(sqqueue *
&q,int
&e)//出佇列
佇列也可以使用鏈式儲存結構:
#include
#include
#define maxsize 100
typedef
struct qnode
datanode;
typedef
struct
linkqunode;
void
initqueue
(linkqunode *
&q)//初始化 initiate 英[ɪˈnɪʃieɪt] 開始, 創始,開闢
void
destroyqueue
(linkqunode*
&q)//銷毀 destroy [dɪˈstrɔɪ]殺死; 破壞,摧毀;
free
(pre);}
free
(q);
}bool queueempty
(linkqunode *
&q)//判斷是否為空 empty[ˈempti]空的,空虛的,空洞的;
bool enqueue
(linkqunode *
&q,int e)
//進佇列
return true;
}bool dequeue
(linkqunode *
&q,int
&e)//出佇列
intmain()
照著書上敲了乙個習題
實現對一串數,先出隊乙個列印出來,再出隊乙個,把該元素放到佇列最後,直至隊列為空。雖然很簡單,,但是自己敲得時候遇到了一些小問題,,找一下毛病。
出現問題的原因:
1、當然是不細心了。。
2、比如說當陣列作為形參傳入函式時,哪怕你的形參是a,到了函式內部,他只是把它當做乙個指標,你要是想進行a[1],編譯器不會知道你的意思,所以正確的做法是,直接寫出位址,再 *(a+i),即可。
在這裡插入**片
```void
number
(int
*a,int n)
while(!
queueempty
(q))}}
intmain()
;number
(a,8);
system
("pause");
return0;
}
資料結構 佇列
一 佇列的迴圈陣列實現。1 初始化 空佇列。令rear front 0。2 入佇列 約定rear指向佇列尾元素的下乙個位置。入佇列時,先判斷佇列是否已滿,而後將array rear x 然後rear 3 出佇列 約定front指向佇列的首元素位置。出佇列時,先判斷佇列是否為空,而後返回隊首元素re ...
資料結構 佇列
資料參考自 資料結構c 語言描述 佇列是一種先進先出的資料結構,這與棧正好相反。下例是簡單的queue實現 queue.h檔案 ifndef queue h define queue h include include 資料元素結構 自定義 struct datatype 佇列元素最大數 const...
資料結構 佇列
code for fun created by dream whui 2015 1 25 include stdafx.h include include using namespace std define true 1 define false 0 define ok 1 define erro...