深入理解鏈式佇列

2021-08-10 11:51:09 字數 1485 閱讀 2896

下面從**中理解分析佇列的鏈式儲存原理。

templateclass queue

};node *front; //隊頭

node *rear; //隊尾

};///

//////

//////

//////

//////

//////

////////

templatequeue::queue()

//////

//////

//////

//////

//////

//////

//////

templatequeue::~queue() //析構函式

templatevoid queueli::makeempty()

//////

//////

//////

//////

//////

//////

////////

templatebool queue::isempty() const

//判斷是佇列是否為空

//////

//////

//////

//////

//////

//////

///////

templateconst t& queue::getfront() const

//////

//////

//////

//////

//////

//////

/////

templatevoid queue::enqueue(const t &x)

//////

//////

//////

//////

//////

////////

templatet queue::dequeue()

重點理解一下佇列元素的插入

template

void

queue

::enqueue(const t &x)

當隊列為空,插入第乙個結點時,隊頭隊尾指標指向同乙個結點,它們值相同,即上面所示的(1)式。

當插入第二個結點時,隊尾指標指向的結點,也就是隊頭指標指向的結點(這點值得注意)的next指標由空被賦值為新元素的位址,即rear->next=new node(x),此時等價於front->next=new node(x),都是第乙個結點的next指標被賦值;然後隊尾指標rear賦值為新元素位址,隊尾變更,即rear=new node(x),此時rear指向的新結點中next指標為空。這兩個過程合併起來就是上面所示的(2)式。

之後插入的結點的儲存過程類似,先是rear指向的元素的空next指標被賦值為新元素的位址,然後新元素位址賦給隊尾rear指標,產生新隊尾。

深度理解鏈式前向性

大佬部落格 我們首先來看一下什麼是前向星.前向星是一種特殊的邊集陣列,我們把邊集陣列中的每一條邊按照起點從小到大排序,如果起點相同就按照終點從小到大排序,並記錄下以某個點為起點的所有邊在陣列中的起始位置和儲存長度,那麼前向星就構造好了.用len i 來記錄所有以i為起點的邊在陣列中的儲存長度.用he...

理解鏈式前向星

我們首先來看一下什麼是前向星.前向星是一種特殊的邊集陣列,我們把邊集陣列中的每一條邊按照起點從小到大排序,如果起點相同就按照終點從小到大排序,並記錄下以某個點為起點的所有邊在陣列中的起始位置和儲存長度,那麼前向星就構造好了.用len i 來記錄所有以i為起點的邊在陣列中的儲存長度.用head i 記...

深度理解鏈式前向星

我們首先來看一下什麼是前向星.前向星是一種特殊的邊集陣列,我們把邊集陣列中的每一條邊按照起點從小到大排序,如果起點相同就按照終點從小到大排序,並記錄下以某個點為起點的所有邊在陣列中的起始位置和儲存長度,那麼前向星就構造好了.用len i 來記錄所有以i為起點的邊在陣列中的儲存長度.用head i 記...