一、實驗目的
熟練掌棧的結構特點,學會使用棧解決實際問題。實現十進位制轉二進位制的功能。
二、實驗內容
十進位制轉二進位制的乙個演算法是不斷的去餘,再逆序拼接在一起。注意,是逆序,就是先算出來的後拼接。這個特性正和棧的先進後出相匹配,只要把取餘的出來的數壓棧,計算完之後,再逐個彈棧出來,拼接在一起,就可以完成這一功能。之前寫過乙個順序棧的c++模板,這裡給它增加乙個函式方法。下面給給出了上一版本的順序表模板連線。
順序棧模板1.0
seqstack.h 的public中新增:
// 進製轉換
void decimaltor(datatype n,int r);
seqstack.cpp中新增上面方法的實現:
// 在之前模板基礎上增加的功能
template
void seqstack::decimaltor(datatype n,int r)
while(top != -1)
}
main.cpp
#include
#include "seqstack.cpp"
using
namespace
std;
int main(int argc, const
char * argv)
三、心得和體會
一開始看到十進位制轉二進位制這個題目出現在棧和佇列的練習中,一開始我還是有疑惑的,這轉換進製和這個資料結構有關係嗎?可是仔細一想進製轉換的演算法,突然發現其中的相似的先進後出的特點。當然,我寫的這個模板也可以應用於十進位制轉任意進製。這裡就體現了c++模板的便利,棧的用途。
在空閒的時候更新的地方,大家可以捧一下場,嘿嘿~
新世界的大門 (๑•̀ㅂ•́)و✧
二進位制轉十進位制
二進位制轉十進位制方法很多,如字元陣列,指標法等 下面用字串函式的方法實現 二進位制轉十進位制 主要用 到 string函式性質及pow求乙個數的n次方的函式過載 by adengou 2010.08.04 win7 dev c 5.0 vs 2010 通過 include include incl...
十進位制轉二進位制
includeint dg unsigned n,int c 注意 引數型別是unsigned int main 陣列全部初始化為0 printf d n sizeof int unsigned temp,u temp u 4294967295u int tu int u printf u u,tu...
十進位制轉二進位制
宣告 最後一種降冪法頗具魅力,而且與方法二有異曲同工之妙 十進位制轉二進位制的幾種方法 輸入 乙個無符號的十進位制整數 輸出 對應十進位制的二進位制顯示 例如 input 10,output 1010 方法一 除二取餘法 forinput 0 cout input 2 input 2 end 輸出順...