資料結構 順序棧(c語言)
#include
using namespace std;
#define OK 1
#define OVERFLOW 0
#define MAXSIZE 100
typedef int Elemtype;
typedef int Status;
typedef struct
{
Elemtype stacksize;
Elemtype *base,*top;
}Sqstack;
Status InitStack(Sqstack &S)
{//順序棧初始化
S.base=new Elemtype;
if(!S.base) return OVERFLOW;
S.top=S.base;
S.stacksize=MAXSIZE;
}
Status Push(Sqstack &S,Elemtype e)
{//入棧
if(S.top-S.base==S.stacksize)
return OVERFLOW; //棧滿
S.top++=e;
return OK;
}
Status Pop(Sqstack &S)
{//出棧
if(S.top=S.base)
return OVERFLOW;
–S.top; //這裡的地址減一其實是減了一個Elemtype型別所佔的地址大小
}
Elemtype GetTop(Sqstack S)
{//取棧頂元素
if(S.top!=S.base)
return (–S.top);
}
int main()
{
Sqstack S;
InitStack(S);
Push(S,1);
Push(S,2);
cout<<GetTop(S);
}
相關文章
- C語言資料結構:順序棧的建立、出入棧,以及使用順序棧實現十進位制轉十六進位制C語言資料結構
- 資料結構c語言實現順序表基本操作資料結構C語言
- C語言資料結構:鏈式棧及其出入棧C語言資料結構
- c語言資料結構,你可能還不知道的順序表C語言資料結構
- 利用順序棧完成的作業題(C語言)C語言
- c語言順序棧常規插入刪除操作C語言
- @資料結構C/C++版(5)《棧的順序儲存結構以及進棧和出棧操作的實現》資料結構C++
- 資料結構:棧的基本概念、順序棧、共享棧以及鏈棧資料結構
- python實現基本資料結構第二篇(順序棧、鏈棧,順序隊、鏈隊)Python資料結構
- 洛谷題單入門1順序結構(C語言版)C語言
- 資料結構_順序表_順序表的初始化、插入、刪除、修改、查詢列印(基於C語言實現)資料結構C語言
- 【資料結構】堆疊(順序棧、鏈棧)的JAVA程式碼實現資料結構Java
- 棧 ADT 【資料結構與演算法分析 c 語言描述】資料結構演算法
- C語言資料結構(8)--棧 後進先出線性表C語言資料結構
- C#資料結構-二叉樹-順序儲存結構C#資料結構二叉樹
- C++順序結構(3)、資料型別_____教學C++資料型別
- C語言運算子優先順序C語言
- C 語言運算子優先順序
- 04C++順序結構(3)C++
- 資料結構雜湊表(c語言)資料結構C語言
- c運算子優先順序表-最全c語言運算子優先順序和結合性對照表C語言
- 資料結構 - 線性表 - 順序表資料結構
- 順序結構
- 資料結構練習題(順序表和單連結串列)C++資料結構C++
- 資料結構C語言|佇列相關資料結構C語言佇列
- 線性表-順序表C語言實現C語言
- 考研資料結構-線性表-順序表資料結構
- C語言_資料結構圖(留個筆記)C語言資料結構筆記
- 重學C語言_資料結構與基礎語法C語言資料結構
- 棧的應用之平衡符號 【資料結構與演算法分析 c 語言描述】符號資料結構演算法
- 理解C語言宣告的優先順序規則C語言
- 順序表的基本方法實現C語言版C語言
- 用c語言實現資料結構——單連結串列C語言資料結構
- 資料結構——單連結串列介面實現(C語言)資料結構C語言
- 【資料結構】迴圈佇列 C語言實現資料結構佇列C語言
- C語言常被搞錯的運算子優先順序C語言
- C語言教程——03 C語言結構C語言
- 順序結構與選擇結構