棧和佇列的基本概念

2021-10-08 12:53:56 字數 941 閱讀 1816

1.棧的定義

棧是一種只能在一端進行插入或刪除操作的線性表。其中允許進行插入或刪除操作的一端稱為棧頂(top)。棧項由乙個稱為棧頂指標的位置指示器(其實就是乙個變數,對於順序棧,就是記錄棧項元素所在陣列位置標號的乙個整型變數:對於鏈式棧,就是記錄棧頂元素所在結點位址的指標)來指示,它是

動態變化的。表的另一端稱為棧底,棧底是固定不變的。棧的插入和刪除操作一般 稱為入棧和出棧。

2.棧的特點

由棧的定義可以看出,棧的主要特點就是先進後出(filo)。棧中的元素就好比開進乙個死胡同的車隊,最先開進去的汽車只能等後進來的汽車都出去了,才能出來。

3.棧的儲存結構

可用順序表和煉表來儲存棧,棧可以依照儲存結構分為兩種:順序棧和鏈式棧。在找的定義中已經說明,棧是一種在操作上稍加限制的線性表,即棧本質上是線性表,而線性表有兩種主要的儲存結構——順序表和煉表,因此棧也同樣有對應的兩種儲存結構。

4.棧的數學性質

當n個元素以某種順序進棧,並且可在任意時刻出棧(在滿足先進後出的前提下)時,所獲得的元素排列的數目n恰好滿足函式catalan()的計算,即

1.佇列的定義

佇列簡稱隊,它也是一種操作受限的線性表,其限制為僅允許在表的一端進行插入,在表的另一端進行刪除。可進行插入的一端稱為隊尾(rear), 可進行刪除的一端稱為隊頭(front)。向佇列中插入新的元素稱為進隊,新元素進隊後就成為新的隊尾元素:從佇列中刪除元素稱為出隊,元素出隊後,其後繼元素就成為新的隊頭元素。

2.佇列的特點

佇列的特點概括起來就是先進先出(fifo)。 打個比方,佇列就好像開進隧道的一列火車, 各節車廂就是隊中的元素,最先開進隧道的車廂總是最先駛出隧道。

3.佇列的儲存結構

可用順序表和煉表來儲存佇列,佇列按儲存結構可分為順序隊和鏈隊兩種。

棧和佇列的基本概念和操作

棧和佇列 1.棧的定義 棧是限定只能在一端進行插入和刪除的線性表。允許進行插入和刪除操作的一端稱為棧頂,另一端為棧底。當棧中沒有元素時,稱為空棧。棧的特點是 後進先出 last in first out,lifo 即後入棧的元素先出棧。2.佇列定義 佇列是限定在一端進行插入,在另一端進行刪除的線性表...

堆和棧的基本概念

堆 heap 和棧 stack 是c c 程式設計不可避免會碰到的兩個基本概念。首先,這兩個概念都可以在講資料結構的書中找到,他們都是基本的資料結構,雖然棧更為簡單一些。在具體的c c 程式設計框架中,這兩個概念並不是並行的。對底層機器 的研究可以揭示,棧是機器系統提供的資料結構,而堆則是c c 函...

佇列 基本概念 順序佇列

一 基本概念 佇列 queue 是只允許在一端進行插入操作,而在另一端進行刪除操作的線性表。佇列是一種先進先出 first in first out 的線性表,簡稱fifo。允許插入的一端稱為隊尾,允許刪除的一端稱為隊頭。佇列基本操作 initqueue 初始化佇列 enqueue 進佇列 dequ...