資料結構演算法學習 stack實現

2021-08-15 23:46:05 字數 966 閱讀 2095

1 棧(stack)是限定盡在表尾進行插入和刪除操作的線性表。

2 棧中允許插入和刪除的一端稱為棧頂(top),另一端稱為棧底(buttom),不含任何資料元素的棧稱為空棧(empty)。

3 棧又稱為後進先出(last in first out)的線性表,簡稱lifo結構。

4 棧的插入操作,叫進棧,也稱壓棧、入棧。

5 棧的刪除操作,叫出棧,也又叫作彈棧。

棧的圖例:

棧順序儲存結構**的實現:

#include 

const

int maxsize = 10; //stack size

//stack struction

typedef

struct stack;

//initialize stack

bool initstack(stack **s)

//initialize stack

stack* initstack()

//empty stack

bool emptystack(stack *s)

//push stack

bool push(stack *s, int value)

//pop stack

bool pop(stack *s, int *value)

//test stack

void teststack()

while(true)

printf("\n");

if(emptystack(s))

return ;

}int main(int argc, char *argv)

演算法學習 資料結構2

1 資料結構概述 數結構是計算機中對資料的一種儲存和組織方式,同是也泛指相互之間存在一種或多種特定關係的資料的集合。2 資料結構中的基本概念 資料 data 資料是資訊的載體,其能夠被計算機識別 儲存和加工處理,是電腦程式加強的 原材料 資料元素 data element 資料元素是資料的基本單位,...

資料結構與演算法學習

我想重新學習一下資料結構與演算法,打好基礎。to measure is to know.我們用演算法複雜度t n 來表示演算法的效率,效能。t n 的取值 所有問題規模為n的問題例項中,將他們的計算成本進行總體的比較,取出最壞情況下的值。有幾點需要catch,1.演算法執行的時間,會根據程式語言,作...

資料結構 stack 學習筆記

problem solving with algorithms and data structures 棧 stack 是一種運算受限的線性表 限制是僅允許在表的一端進行插入和刪除運算 新元素的插入和既存元素的刪除發生在同一端 這一端被稱為棧頂,相對地,把另一端稱為棧底 向乙個棧插入新元素又稱作進棧...