鏈棧將十進位制轉換為二進位制

2021-08-10 13:23:58 字數 929 閱讀 6280

一、

實驗內容 1.

自己確定結點的資料型別和問題規模:建立乙個鏈棧,實現鏈棧的壓棧和出棧操作 2.

利用鏈棧實現由十進位製到二進位制的轉換

二、源**

#includeusing namespace std;

class line ;

node* top;

public:

line()

~line()

} void push(int i);//入棧;

int pop();//出棧;

int getpop();

int empty()

else return 0;

} void cz(int n);

};void line::push(int i)

int line::pop()

int line::getpop()

}void line::cz(int n)

cout << "將十進位制數轉換為二進位制數:";

while (top != null) }

int main()

k.push(n);

cout << "棧頂元素為:";

cout << k.getpop() << endl;

}

三、實驗結果

四、總結與反思

鏈棧是鏈式儲存結構,使用指標域儲存的,有指標

front rear

指示元素的首尾位置,方便查詢。鏈式儲存方式是動態的,即需要時申請空間,不存在棧滿現象,但是每個元素都需要乙個指標域,從而產生結構性開銷,因此,當所需操作是「先進後出」且元素個數變化較大時,使用鏈棧比較合適。

將十進位制轉換為二進位制

問題 將任一十進位制整數轉換為二進位制形式。方法一分析 將十進位制轉換為二進位制的方法很多,本方法利用c語言能夠對位進行操作的特點。對於c語言來說,乙個整數在計算機內就是以二進位制形式儲存的,所以沒有必要再將乙個整數經過一系列運算轉換為二進位制形式,只要將整數在記憶體中的二進位制表示輸出即可。源程式...

順序棧 將十進位制轉換為二進位制

一 實驗內容 1.自己確定結點的資料型別和問題規模 建立乙個順序棧,實現棧的壓棧和出棧操作 2.利用棧實現由十進位製到二進位制的轉換 includeusing namespace std const int max 10 class line line void push int i 入棧 int ...

十進位制 轉換為 二進位制

聽說優酷前端面試有問進製數轉換的,甚至是負正整數轉換為二進位制,那就索性一次整個明白 正整數轉二進位制 負整數轉二進位制 小數轉二進位制 1 正整數轉成二進位制。口訣 除二取餘,倒序排列,高位補零。42 除以2得到的餘數 右邊 為010101,然後倒著排一下就是取到的二進位制了 如下圖 計算機內部表...