#include
#include
//棧的初始長度
#define stack_init_size 100
//棧滿時,棧的每次增加的大小
#define stackincrement 10
//棧中的資料型別是int
typedef
int selemtype;
//定義棧的棧底指標,棧頂指標,以及棧的容量
typedef
struct
sqstack;
//棧的初始化
sqstack *
initstack()
else
scanf
("%d"
,&n);}
return s;
}//列印棧內所有的元素
void
printall
(sqstack *s)
printf
("\n");
s->base = p;
}//入棧操作
sqstack *
push
(sqstack *s, selemtype e)
//先給棧頂指標所在的位址存值,後指標上移
*s->top++
= e;
return s;
}//出棧操作
sqstack *
pop(sqstack *s)
//獲取棧頂元素
selemtype gettop
(sqstack *s)
}int
main()
printall
(s);
//獲取棧頂元素
printf
("棧頂元素為:");
printf
("%d"
,gettop
(s))
;}
棧只需要兩個指標,分別指向棧頂和棧底,遵循lifo(後進先出)。實現的時候只需要申請一段連續記憶體,然後棧底指標指向首位址,棧頂指標不斷地後移就可以了,入棧出棧,都移動棧頂指標。
資料結構(C語言版) 棧
1 棧 僅在表尾進行插入和刪除操作的線性表。後進先出lifo。1 表尾端 允許插入和刪除的一端 為棧頂,表頭端 不允許插入和刪除的一端 為棧底。2 入棧 插入元素的操作。出棧 刪除棧頂元素 2 棧的兩種儲存表示方式 2 鏈棧 棧的鏈式儲存結構 優點是便於多個棧共享儲存空間和提高效率。3 括號匹配檢驗...
資料結構(C語言版)
用棧實現數字的進製轉換 10轉8 棧 限定只能在表尾進行插入或者刪除操作的線性表 特點 先進後出 儲存表示方法 順序棧和鏈棧 本文用的順序棧 實現 readonly name code class c include include define stack init size 100 儲存空間初始...
資料結構與演算法(C語言版) 棧
棧是一種常用的資料結構,棧常用在系統軟體和或者演算法中。棧使用陣列來做順序棧,鏈式站用鍊錶來做。今天使用動態陣列來設計棧。棧,後進先出 lifo 先進後出 filo push,進棧 pop,出棧 peek,看一下棧頂 我使用的是vs ultimate2013 新建乙個空專案,在標頭檔案裡面新增兩個標...