連結佇列

連結佇列是通信信息科學類術語,是佇列中結點採取連結方式存貯的佇列。

基本介紹

  • 中文名:連結佇列
  • 性質:通信信息科學類術語
構造,算法,套用,

構造

所謂佇列的鏈式存儲結構是用一個線性鍊表來表示一個佇列,佇列中每一個元素對應鍊表中一個鏈結點,這樣的佇列簡稱連結佇列。具體地說,把線性鍊表第1個鏈結點的指針定義為隊頭指針front,在鍊表最後的鏈結點建立指針rear作為隊尾指針,並且限定只能在鏈頭進行刪除操作,在鏈尾進行插入操作,這個線性鍊表就構成了一個連結佇列。另一個與順序存儲結構佇列的不同點是,隊頭指針與隊尾指針都是指向實際隊頭元素與隊尾元素所在的鏈結點。
測試連結佇列為空的條件是front為NULL。事實上,在連結佇列中插人一個新的元素就是在鍊表的表尾鏈結點後添加一個新鏈結點;而刪除一個元素的操作就是刪除鍊表的第1個鏈結點。
連結佇列的類型可以定義如下。
typedefstruct node{
OElemType data
struct node ,link;
} QNode,xQLink; /*定義一個鍊表佇列類型*/

算法

下面給出連結佇列的幾個常用操作的算法。
1.初始連結佇列
算法如下:
void INITIALQLINK(QLink&front,QLink&rear)
{
front=rear=NULL;
}
2.測試連結佇列是否為空
算法如下:
int EMPTYQLINK(QLinkfront)
{
return front==NULL;
}
3.取當前隊頭元素
4.連結佇列的插入
5.連結佇列的刪除
6.連結佇列的銷毀

套用

佇列與堆疊一樣,是計算機科學領域中比較簡單,然而套用又十分廣泛的一種基本數據結構,其套用主要體現在以下兩個方面:其一是解決計算機的主機與外部設備之間速度不匹配的問題;其二是解決由於多用戶引起的系統資源競爭的問題。

相關詞條

熱門詞條

聯絡我們