STL之佇列 帆帆帆筆記系列

2021-08-09 09:56:06 字數 1224 閱讀 5915

佇列是一種特殊的

線性表

,它只允許在表的前端(front)進行刪除操作,而在表的後端(rear)進行插入操作。進行插入操作的端稱為隊尾,進行刪除操作的端稱為隊頭。佇列中沒有元素時,稱為空佇列。

–隊尾(rear)——允許插入的一端

–隊頭(front)——允許刪除的一端

佇列特點:先進先出(fifo)

佇列的結構:

基礎操作:

(1)初始化佇列:init_queue(q) ,初始條件:隊q 不存在。操作結果:構造了乙個空隊;

(2)入隊操作: in_queue(q,x),初始條件: 隊q 存在。操作結果: 對已存在的佇列q,插入乙個元素x 到隊尾,隊發生變化;

(3)出隊操作: out_queue(q,x),初始條件: 隊q 存在且非空,操作結果: 刪除隊首元素,並返回其值,隊發生變化;

(4)讀隊頭元素:front_queue(q,x),初始條件: 隊q 存在且非空,操作結果: 讀隊頭元素,並返回其值,隊不變;

(5)判隊空操作:empty_queue(q),初始條件: 隊q 存在,操作結果: 若q 為空隊則返回為1,否則返回為0

佇列的常用儲存型別:

順序迴圈佇列:

•存在問題

設陣列長度為m,則:

–當front=0,rear=m時,再有元素入隊發生溢位——

真溢位 

–當front!=0,rear=m時,再有元素入隊發生溢位——

假溢位•解決方案

–隊首固定,每次出隊剩餘元素向下移動——浪費時間

–迴圈佇列

»基本思想:把佇列

設想成環形,讓sq[0]接在sq[m-1]之後,若rear+1==m,則令rear=0;

STL之棧 帆帆帆筆記系列

棧 棧 stack 又名堆疊,它是一種運算受限線性表。其特點在於僅允許在表的一端進行插入和刪除運算。這一端被稱為棧頂,相對地,把另一端稱為棧底。向一 個棧插入新元素又稱作進棧 入棧 or 壓棧 從乙個棧刪除元素又稱作出棧 退棧 其重要的特性可以簡述為lifo last in first out 也就...

帆軟報表學習筆記 行轉列

這次做的例子是 行轉列 廢話不多說 直接幹 首先先從資料庫中取出所要的資料,新增到模版資料集中,然後依次的把資料放到對於的單元格,用帆軟工具做行轉列的主要點是在於關鍵字的擴充套件方向,像本例中毒額 類名字的擴充套件方向是橫向擴充套件的。最後執行的結果如下圖 上面是利用帆軟的工具來實現行轉列的,下面一...

2020 11 20 帆軟直播培訓課程學習筆記

自助資料集是整個bi分析的起始點。資料集的設計和規劃是推廣自助分析的核心工作,設計自助資料集要同時兼顧,泛用性 高效性還有易用性。不要用程式設計師寫 的思路去建立自助資料集,要貼合bi工具的使用特點。高效性 要能快速開發資料集。易用性 對使用者友好。其實關鍵在於資料集設計得好不好,使用者只需簡單的操...