程式如下:(當程式執行後,比如數個1348,結果無限返回2,,是什麼問題呢,,跪求大佬。)
#include
#include
#define stack_init_size 100
#define stackincrement 10
typedef int elemtype;
typedef int status;
using namespace std;
typedef struct
sqstack;
status initstack(sqstack &s)
s.top = s.base;
s.stacksize = stack_init_size;
return 1;
//判斷棧是否為空
}status push(sqstack &s, elemtype e)
s.top = s.base + s.stacksize;
s.stacksize += stackincrement;
}*s.top++ = e;
return 1;
}//插入元素e為棧頂元素
status stackempty(sqstack s)
status pop(sqstack s, elemtype &e)
e = *–s.top;
return 1;
}//刪除棧頂元素,並返回
int main()
while (!stackempty(s))
cout << endl;
system(「pause」);
return 1;
}
利用堆疊進行數制轉換
下面以無符號十進位制轉換為八進位制為例簡述數制轉換問題。將十進位制數num轉換為八進位制可以反覆執行以下步驟得到 1,將num除以8,取其餘數 2,判斷num除以8的商 若商為零,則轉換到此結束 若商不為零,則將商送num,轉到第1步。演算法描述如下 將無符號十進位制數轉換為八進位制數 堆疊採用順序...
利用棧進行數制轉換和括號匹配(C語言)
數制轉換 將十進位制數轉換為任意進製數。由數制轉換的計算公式 n n d d n d 其中n為想轉換的十進位制數,d為想轉換的進製 我們可以知道其轉換後的結果是逆序輸出,故可以利用棧的先進後出的特性,將每一步計算的結果依次入棧之後再出棧,得出的結果正好是轉換後的數。括號匹配 即利用棧檢驗輸入的括號是...
資料結構實踐 數制轉換 棧
本文是針對資料結構基礎系列網路課程 3 棧和佇列的實現專案。專案 數制轉換 把十進位制的整數轉換為任一進製數輸出。請利用棧設計演算法,並實現程式。參考解答 解法 標頭檔案sqstack.h請見 順序棧演算法庫 使用鏈棧也可以。include include sqstack.h void multib...