鏈式佇列的嘗試,總得來說還行。每次我都是照著寫好類的原型,然後乙個個的去實現,然後執行,查詢錯誤和書上的區別。
在嘗試鏈式佇列是,就出現了乙個問題。那就是在出隊的時候,在隊列為空的時候,有乙個更改尾指標的過程:
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...