六)鏈式佇列

2021-05-22 03:00:37 字數 1079 閱讀 2175

鏈式佇列的嘗試,總得來說還行。每次我都是照著寫好類的原型,然後乙個個的去實現,然後執行,查詢錯誤和書上的區別。

在嘗試鏈式佇列是,就出現了乙個問題。那就是在出隊的時候,在隊列為空的時候,有乙個更改尾指標的過程:

if(front->next==null)rear=front;

開始的時候沒有注意,導致輸出的失敗。

還有就是鏈式佇列預設是帶頭節點的。沒有充分認識這個特點,導致剛開始的時候**有些混亂。我現在發現如果沒有乙個清晰的概念在腦子裡,**一多起來,就亂了。不是這個有乙個問題,就是那裡有乙個問題。很煩人的……

下面是linkqueue.h的**:

#if !defined(_linkqueue_h)

#define _linkqueue_h

#include

using namespace std;

template

struct node

;template

class linkqueue

;void from_link();

template

void linkqueue::clearqueue()

cout<<"佇列已清空!/n";

}template

linkqueue::linkqueue()

template

linkqueue::~linkqueue()

}template

void linkqueue::enqueue(t x)

rear=rear->next;

rear->data=x;

rear->next=null;

}template

t linkqueue::dequeue()

template

t linkqueue::gethead()

template

t linkqueue::getlast()

template

void linkqueue::queuedisplay()

}template

int linkqueue::queueempty()

#endif

佇列 鏈式佇列

主要是鏈式佇列用單鏈表來實現,說白了還是對單鏈表的應用。為了操作實現方便,這裡採用帶頭結點的單鏈表結構。鍊錶的頭部作為隊首,鍊錶的尾部作為隊尾。一共設定兩個指標,乙個隊首指標和乙個隊尾指標,如圖所示。package 佇列的實現 public inte ce queue package 佇列的實現 p...

鏈式棧 鏈式佇列 順序佇列

暑期學習第一天,學習了鏈式棧 鏈式佇列和順序佇列 這三種都是舉一反三的型別 鏈式棧標頭檔案 ifndef stack h define stack h define ok 0 define error 1 結點 typedef struct stacknode stacknode 棧 typedef...

LinkQueue 鏈式佇列

鏈式佇列實現起來很簡單。唯一需要注意的是 在入隊和出隊時,需要分別處理一下隊頭和隊尾為空的情況。file name linkqueue.h author zhoufeng date 2012 03 28 ifndef link queue h define link queue h define b...