佇列是只允許在隊尾插入元素,在隊頭刪除元素的線性表。它有兩種儲存結構,即是順序儲存和鏈式儲存結構。
鏈式儲存結構實際上是乙個同時帶有首指標和尾指標的單鏈表。實現如下:
#includeusing namespace std;
const int maxsize=20;
typedef struct
sqqueue;
void initqueue(sqqueue &sq)
int enqueue(sqqueue &sq,int x)//入隊
}int dequeue(sqqueue &sq,int &x) //出佇列,將值儲存在x當中
}int isempty(sqqueue &sq) //判斷佇列是否為空
int gethead(sqqueue sq,int &x) //取隊頭元素
/*鏈式佇列*/
typedef struct node
snode;
typedef struct
lqueue;
void initqueue(lqueue * &lq)
void enqueue(lqueue * &lq,int x)
else }
int dequeue(lqueue *&lq,int &x)
else
lq->font=lq->font->next;
} free(p);
return 1;
}int queueempty(lqueue *&lq)//判斷佇列是否為空
void main()
{ sqqueue sq;
int x;
initqueue(sq);
for(int i=0;i<10;i++)
{ enqueue(sq,i);
cout<
複製搜尋 複製
搜尋
佇列的鏈式儲存實現
include include define true 1 define false 0 define ok 1 define error 0 define overflow 02 typedef int qelemtype typedef int status storage structure ...
線性表的順序儲存和鏈式儲存實現
這幾天搞連通域的問題 其中用的資料結構就是順序的陣列實現的類似鍊錶的操作,思想是一樣的,但他沒有寫成標準的形式,總是感覺怪怪的。根據 中國大學mooc 陳越 何欽銘 資料結構 2017春 學習計畫,突然理解,線性表的順序儲存又分為靜態的和動態的,即初始化的方法區別,在嵌入式的系統中用靜態的,提前開闢...
鏈式儲存的佇列的實現
2013 08 18 20 07 25 鏈式儲存的佇列的實現,包括佇列的初始化 銷毀 入隊 出隊 測長 獲取隊首元素等基本操作。注意幾點 佇列結構,包含乙個頭指標 乙個尾指標,初始化為空佇列,空佇列的隊首指標與隊尾指標相同 鍊錶包含頭結點,否則在隊列為空以及佇列只有乙個元素時都是隊尾至真與隊首指標相...