#include
using namespace std;
#define stack_init_size 100 //初始儲存容量
#define stackincerment 10 //儲存空間增量
struct sqstack //順序棧的定義
;bool initstack(sqstack &s) //構造乙個空棧
int gettop(sqstack s,int &e) //若棧不空,則用e返回s的棧頂元素
bool push(sqstack &s,int e) //插入元素e為新的棧頂元素
if(!s.base) return 0; //如果分配失敗,則返回0
*s.top=e; //把e的值賦給棧頂指標 ,可合併為 *s.top++=e; (++運算級高於*)
++s.top; //棧頂指標位址加一
return 1;
}bool pop(sqstack &s,int &e) //若棧不空,則刪除s的棧頂元素,用e返回其值
void conversion(sqstack &s) //對於輸入的任意乙個非負十進位制整數n,列印輸出與其等值的d進製數
while (!(s.base==s.top))
}int main()
delete s.base;
return 0;
/*演算法3.1*/
void conversion(sqstack &s) //對於輸入的任意乙個非負十進位制整數n,列印輸出與其等值的d進製數
while (!(s.base==s.top))
}
資料結構與演算法 棧的應用
逆序輸出 輸出的次序和處理次序相反,而且遞迴的深度不容易預知。比如進製轉換,括號匹配 進製轉換 void convert stack char s,int n,int base while n 0 括號匹配 括號匹配 bool paren vector char v elseif s.empty e...
資料結構48 資料結構之查詢演算法
在日常生活中,幾乎每天都要進行一些查詢的工作,在 簿中查閱某個人的 號碼 在電腦的資料夾中查詢某個具體的檔案等等。本節主要介紹用於查詢操作的資料結構 查詢表。查詢表是由同一型別的資料元素構成的集合。例如 號碼簿和字典都可以看作是一張查詢表。一般對於查詢表有以下幾種操作 在查詢表中只做查詢操作,而不改...
資料結構與演算法 簡單棧實現及其應用
棧 棧的實現 棧的鍊錶實現 棧的陣列實現 以上測操作都是以常數時間執行,非常快速的只有乙個操作,以下我們用陣列實現自己的乙個棧 author liaojiamin date created in 18 07 2020 12 2 public class mystack 擴容 public void ...