資料結構和演算法學習第3天 佇列的相關知識

2021-07-09 13:34:09 字數 1577 閱讀 8603

佇列是一種先進先出的線性表,只能在表頭刪除在表尾插入,作業系統中的作業排隊就是佇列的乙個很好的應用。也有可以在兩端均可進行插入和刪除操作的佇列,稱為雙端佇列,但其用處並沒有一般佇列廣泛。

佇列型別的實現

1:鏈佇列——鏈式映象:

2:迴圈佇列——順序映象

第一部分:鏈佇列——鏈式映象

演算法1:佇列的資料結構

typedefstruct qnode qnode, *queueptr;

typedefstruct linkqueue

空佇列的判斷條件是:q.front==q.rear

演算法2:initqueue(&q):操作結果:構造乙個空佇列q。

statusinitqueue (linkqueue &q)

演算法3:為佇列插入元素為新的隊尾元素

statusenqueue (linkqueue &q, qelemtype e)

演算法4:dequeue(&q, &e) 操作結果:刪除q的隊頭元素,並用e返回其值。

初始條件:q為非空佇列。

status dequeue (linkqueue &q,qelemtype &e)

sqqueue

判斷隊滿的方法:

1、設乙個標誌位;

(q.rear+1) % maxqsize = = q.front是隊滿的判斷條件

(q.rear+1) mod maxsize=q.front

演算法2:創造乙個新的佇列

status initqueue (sqqueue &q)

演算法3:佇列插入元素

status enqueue (sqqueue&q,  elemtype e)

演算法4:佇列插入刪除元素

資料結構和演算法學習日記 佇列

佇列是一種特殊的線性表,可以用陣列或鍊錶來表示。遵循先入先出的原則。佇列的插入操作位於隊尾,佇列的刪除操作位於隊首。下溢 現象 當隊列為 空時,做出隊運算時產生的溢位現象。真上溢 現象 當佇列滿時,做入隊操作產生空間溢位的現象。假上溢 現象 由於入隊和出隊操作中,頭尾指標都只向上移動,從而導致被刪元...

資料結構和演算法學習 佇列(順序)

將尾指標往後移 rear 1 當front rear 空 若尾指標 rear 小於佇列的最大下標 maxsize 1,則將資料存入 rear所指的陣列元素中,否則無法存入資料。rear maxsize 1 佇列滿 class arrayqueue 判斷佇列是否滿了 public boolean is...

資料結構和演算法學習 棧

棧是一種重要的線性結構,可以說是線性表的一種具體形式 官方定義 棧是乙個後進先出的線性表,它要求只在表尾進行刪除和插入操作 棧是一種特殊的線性表 順序表 鍊錶 操作上有一些特殊要求 1.棧的元素必須 後進先出 2.棧的操作只能在這個線性表的表尾進行。注 對於棧來說,表尾稱為棧的棧頂 top 相應的表...