佇列也是一種特殊的線性表,只允許在一端進行插入操作,在另一端進行刪除操作。允許插入的一段為對尾,允許刪除的一端為隊頭。本次記錄的是佇列的鏈式儲存結構以及實現。該儲存結構有兩個指標,乙個指向頭節點,稱為頭指標(front);乙個指向隊尾,稱為尾指標(rear)。當front==rear時,表示空佇列。當需要在佇列中插入元素時,需要將隊尾結點指向新插入的結點,然後將尾指標指向新插入的結點。當要在佇列中進行刪除操作時,只需讓頭指標指向隊頭結點的下乙個結點即可。實現**如下:
#include #includeusing namespace std;
typedef struct qnode //定義乙個連佇列的結點
qnode;
typedef struct //定義鏈佇列的資料結構
linkqueue;
// 構造乙個空佇列q
linkqueue *initqueue(linkqueue *q)
// 元素入隊
linkqueue *enqueue(linkqueue *q, int e)
return q;
}//元素出隊
linkqueue *dequeue(linkqueue *q)
free(p);
}return q;
}//返回隊頭元素
void getqhead(linkqueue *q)
cout<
}//列印。帶頭結點,真正儲存元素的位置從頭結點下一位置(隊頭)開始!!!
佇列 鏈式佇列及其實現
一 1 採用鏈式儲存結構的佇列稱為鏈佇列。2 佇列採用 front 和rear 分別指向佇列的頭 尾兩個節點。3 鏈式佇列採用鏈式結構來儲存佇列中的所有元素,該佇列允許新增無限多個元素,鏈式佇列無佇列滿的問題。二 實現 public class linkqueue public node t dat...
佇列的鏈式儲存結構及實現
佇列的鏈式儲存結構其實就是線性表的單鏈表,只不過它只能尾進頭出,也稱為鏈佇列。為了操作方便講隊頭指標指向鏈佇列的頭結點,而隊尾指標指向終端節點。空佇列是這樣 下面使用 演示 include include include typedef struct node node,pnode typedef ...
佇列的鏈式儲存結構以及實現
佇列的鏈式儲存結構,其實就是線性表的單鏈表,只不過它只能尾進頭出而已,通常簡稱為鏈佇列。為了操作上的方便,將隊頭指標指向鏈佇列的頭結點,隊尾指標指向終端結點。當隊列為空時,front和rear都指向頭結點。鏈佇列的結構定義如下所示 typedef int qelemtype qnode代表佇列中元素...