資料結構實踐 數制轉換 棧

2021-12-29 20:43:12 字數 478 閱讀 4412

【專案 - 數制轉換】 把十進位制的整數轉換為任一進製數輸出。請利用棧設計演算法,並實現程式。

提示:要轉換為r進製,則原來的數逐次除以基數r(除完之後用商再除),直到商為0,得到的一系列餘數的逆序就是轉換結果。這裡的「逆序」,意味著後產生的餘數,會先輸出,後進先出,棧的機會來了……

[參考解答]

解法:標頭檔案sqstack.h請見[順序棧演算法庫],使用鏈棧也可以。

#include

#include sqstack.h

void multibaseoutput (int number,int base)

while(!stackempty(s)) //棧非空時退棧輸出

}int main()

注:為實現本專案藶能,請將sqstack.h中的elemtype由char改為int,即

typedef char elemtype;改為:

typedef int elemtype;

資料結構實踐 數制轉換 棧

本文是針對資料結構基礎系列網路課程 3 棧和佇列的實現專案。專案 數制轉換 把十進位制的整數轉換為任一進製數輸出。請利用棧設計演算法,並實現程式。參考解答 解法 標頭檔案sqstack.h請見 順序棧演算法庫 使用鏈棧也可以。include include sqstack.h void multib...

資料結構 棧(附數制轉換練習)

棧的adt adt stack is operations stack createemptystack void 建立乙個空棧 int isempty stack st 判斷棧是否為空棧 void push stack st,datatype x 往棧中插入乙個元素 void pop stack ...

資料結構 棧的實現之數制轉換

常用的進製有四種 二進位制 八進位制 十進位制 十六進製制。他們之間都可以進行倆倆的互相轉換 有一種轉換方法為餘數法,其轉換思想與棧的儲存正好適應。適用於十進位制轉換為二進位制 八進位制 十六進製制 餘數法 連續除以基,直到商為0,從低到高紀錄數值為轉換結果。因為結果是從低到高紀錄的所以使用到棧,先...