讓 rear 指標指向的節點的 next 指標指向新節點,然後讓 rear 指標指向下乙個節點。
每次出佇列時,都讓 font 指標指向 head 節點的下乙個節點。
最後從佇列中彈出 front 節點。
/*
資料結構
佇列 鍊錶
建立乙個鍊錶模擬佇列
實現:資料入佇列、資料出佇列、顯示佇列
*/package main
import (
"errors"
"fmt"
)type node struct
// 資料入佇列
func (this *node) insert(head *node, num int)
// 如果一開始為空鍊錶
if head.next == nil
// 如果不是空鍊錶
this.rear.next = newnode
this.rear = this.rear.next
}// 資料出佇列
func (this *node) pop(head *node) (num int, err error)
this.front = head.next
// 如果只有乙個節點
if this.front == this.rear
// 不止乙個節點
head.next = this.front.next
return this.front.num, nil
}// 顯示資料佇列
func (this *node) show(head *node)
// 迴圈顯示佇列中的每個節點
for
// 繼續掃瞄佇列中的下乙個節點
temp = temp.next }}
func main()
queue := &node{}
// 入佇列
queue.insert(head, 1)
queue.insert(head, 2)
queue.insert(head, 3)
queue.insert(head, 4)
queue.insert(head, 5)
// 顯示佇列
queue.show(head)
// 出佇列
var num int
num, _ = queue.pop(head)
fmt.println("\n出佇列的資料為:", num)
num, _ = queue.pop(head)
fmt.println("\n出佇列的資料為:", num)
// 顯示佇列
queue.show(head)
}
佇列中的資料如下:
1 -> 2 -> 3 -> 4 -> 5 ->
出佇列的資料為: 1
出佇列的資料為: 2
佇列中的資料如下:
3 -> 4 -> 5 ->
用單向鍊錶構造佇列 cpp
用單向鍊錶構造佇列的類,實現佇列的插入 刪除 檢視等基本功能 佇列的特點 先進先出 fifo include using namespace std template class queue t data node next public queue header null len 0 析構函式,保...
模擬單向雙向鍊錶 模擬棧與佇列 KMP
單鏈表模擬單鏈表 include.h using namespace std const int n 1e5 10 int head,ne n e n idx int n head 指向頭節點 ne i 指向第i個節點的下乙個節點 e i 第i個節點的值 idx 儲存當前已經用到了哪個點 void ...
鍊錶模擬佇列
佇列是最基礎的資料結構之一,通過構建鍊錶來模擬佇列,更加清晰的理解佇列的意義。這裡是將佇列作為全域性變數來呼叫,因為不用全域性變數的時候出現好多錯誤,最後還是用了全域性變數。上 include using namespace std include includestruct linklist st...