資料結構 P48 演算法實現 棧的應用舉例 數制轉換

2021-08-09 14:38:23 字數 1034 閱讀 7068

#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 ...