用單向鍊錶構造佇列 cpp

2021-07-25 20:29:25 字數 844 閱讀 3947

/*用單向鍊錶構造佇列的類,實現佇列的插入/刪除/檢視等基本功能

* 佇列的特點:先進先出(fifo) */

#include

using namespace std;

template

class queue

t data;

node* next; };

public:

queue() : header(null), len(0)

//析構函式,保證刪除每乙個節點

~queue()

} //入隊操作,每次入隊,將資料加入隊尾

void push(const t& value)

//出隊操作,每次出隊即刪除第乙個元素

void pop()

node* prev = null;

node* curr = header;

while (curr->next != null)

if (prev != null) else

delete curr;

len--; }

//檢視隊首(因為鍊錶用尾插法,鍊錶的尾是佇列的頭)

t& front()

return p->data; }

//檢視隊尾(因為鍊錶用尾插法,鍊錶的頭是佇列的尾)

t& back()

//檢視佇列長度

int size()

//判斷佇列是否為空,是返回true(1)

bool empty()

private:

node* header;

int len; };

int main()

用單向鍊錶模擬佇列

讓 rear 指標指向的節點的 next 指標指向新節點,然後讓 rear 指標指向下乙個節點。每次出佇列時,都讓 font 指標指向 head 節點的下乙個節點。最後從佇列中彈出 front 節點。資料結構 佇列 鍊錶 建立乙個鍊錶模擬佇列 實現 資料入佇列 資料出佇列 顯示佇列 package ...

openjudge SDAU 鍊錶 構造單向鍊錶

總時間限制 10000ms 記憶體限制 65535kb 描述 構造有序 公升序 的單鏈表 並實現單鏈表的逆置 可以採用結構化的程式設計方法實現,即不必定義類 輸入輸入鍊錶中的資料。用0表示輸入的結束,0不能新增到鍊錶中 輸出按順序輸出有序鍊錶中的資料 樣例輸入 4 1 6 8 2 0 樣例輸出 1 ...

用java實現單向鍊錶

主要就是簡單的指標移動,之前有人讓我幫改了乙個鍊錶的程式,但我覺得實現有問題 改完 自己又寫了乙個,在下面 public class mylinkedlist public void addelement a innode else size public void updateelement in...