佇列是一種特殊的
線性表
,它只允許在表的前端(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工具的使用特點。高效性 要能快速開發資料集。易用性 對使用者友好。其實關鍵在於資料集設計得好不好,使用者只需簡單的操...