簡單易懂的佇列例項

2021-10-04 02:32:01 字數 939 閱讀 8396

定義:佇列——先進先出原則,是一種操作受限的線性表,指只允許在表的一端進行插入操作的資料結構,具有「先進先出」的特點。

比如我們去電影院排隊買票,第乙個進入排隊序列的都是第乙個買到票離開佇列的人,而最後進入排隊序列排隊的都是最後買到票的。

佇列分為:

①、單向佇列(queue):只能在一端插入資料,另一端刪除資料。

②、雙向佇列(deque):每一端都可以進行插入資料和刪除資料操作。

在此我們用的是單向佇列的思想,以一維陣列的形式展現

解密qq號,規則如下:首先將第1個數刪除,緊接著將第2個數放到這串數的末尾,在將第3個數刪除並將第4個數放到這串數的末尾。。。。直到剩下最後乙個數,將最後乙個數也刪除。按照剛才刪除的順序輸出數連在一起就是正確的qq號。

1.需要一維陣列儲存這一串數字 int q,並且初始化。

2.在陣列中刪除乙個數,最簡單的方法就是把後面的數往前挪動

3.引用整型變數head,tail;刪除是:head++,在末尾新增資料:q[tail]=num;tail++;

4.當head=tail,陣列為空。

**如下

#include

using

namespace std;

intmain()

;int head=0;

int tail=9;

while

(headreturn0;

}

使用結構體

#include

using

namespace std;

const

int n=

10010

;struct queue

;int

main()

while

(q.headreturn0;

}

簡單易懂的udp

udp 是一種簡單傳輸協議,實現簡單,占用系統資源少 客戶端服務端 coding utf 8 import time from socket import 建立簡單的udp服務端 建立套接字 soc socket af inet,sock dgram 設定本地位址 local addr 50000 ...

簡單易懂的BFS

bfs從起點開始,優先搜尋離起點最近的點,然後由這個最近的點擴充套件其他稍近的點,這樣一層一層的擴充套件,就像水波擴散一樣。bfs需要借助佇列來實現 初始的時候把起始點放入佇列中,並標記起點訪問 如果佇列不為空,從佇列中取出乙個元素x,否則演算法結束 訪問和x相連的所有點v,如果v沒有被訪問,把v入...

C 實現優先佇列的簡單例項

c 實現優先佇列的簡單例項 優先佇列類模版實現 buildmaxheap.h標頭檔案 include using namespace std define left i i 2 1 define right i i 2 2 define parent i i 1 2 void max heapify...