棧
1.棧的特性
後進先出 last in first out
2.棧的其他性質
1)動態集合,可以插入、刪除
2)線性不迴圈結構
3.棧的性質推論
1)只有最上面的元素能被彈出
2)只能在最上面放置新元素
3)彈出的元素是最新壓入的
4)元素彈出的順序與壓入的順序相反
注意:利用陣列最為基層儲存結構,但陣列和棧的大小並沒有直接聯絡,可能有制約關係(如果沒有寫陣列擴充功能的話),棧的大小可以比陣列小,不能比陣列大。
4.棧的類實現(利用陣列)
屬性:陣列 stack【】 用於儲存資料
int top 儲存棧頂元素的陣列下標
操作:push (insert) 引數是棧名和壓入資料 無返回值
pop (delete) 引數是棧名 返回彈出的棧頂元素
empty 檢查棧是否為空
比較top與0;
full 檢查陣列是否已滿
若陣列已滿 方法一:用大的新陣列代替原來的小陣列??
方法二:起初就定義動態陣列
5.生活中的棧結構
1)餐館裡裝有彈簧的摞盤子的棧
資料結構基礎 棧
一 進製轉換 二 括號匹配 三 行編輯 stack head.h include include define stackincreament 10 define stack init size 100 define ok 1 define error 0 typedef int status ty...
資料結構(c )(1) 棧
最近在複習資料結構 我用的是資料結構與演算法分析c 描述 第三版的書,很不錯的書,有興趣的可以去看看 的相關知識,順便就做了些整理,以供參考。棧 stack 是限制插入和刪除操作只能在乙個位置進行的表,該位置是表的末端,稱為棧的頂。對棧的操作是push 入棧 和pop 出棧 前者相當於插入,後者則是...
C語言資料結構1 資料結構和演算法
如果沒有接觸過資料結構這門課程,或者說只是單單聽過這個名詞。那麼在含義方面,資料結構對於我們來說是非常陌生的。在了解一門課程之前,我們總是要知道這門課程要學習什麼。在了解資料結構之前,我們需要知道什麼是資料。對於人類來說,一切可以讓我們獲取資訊的東西都是資料。我們可以通過乙個動物的叫聲判斷是什麼動物...