棧操作及數進製轉換的實現(將十進位制轉換成二進位制)只考慮整數
棧的基本操作包括:初始化棧、入棧、出棧、判定棧空、判定棧滿、取棧頂元素等;
從數制轉換示例可以看出,十進位制數轉換成相應二進位制數可使用棧存放,再依次彈出棧頂元素輸出,即可得到相應二進位制結果。
棧的結構設定:
typedef
int datatype;
//採用鏈式棧
struct node;
typedef
struct node *ptrtonode;
typedef
struct node * stack;
初始化棧(即建立空棧):
stack createstack
(void
)
入棧操作:
void
push
(datatype x,stack s)
出棧操作:
datatype pop
(stack s)
判斷棧空:若棧為空,則返回1,否則返回0
int
isempty
(stack s)
十進位制轉二進位制操作:
void
convert10to2
(int x)
while
(isempty
(head-
>next)==0
)}
棧 任意進製轉換
本題易錯的地方為對n的值的判斷,分為三種情況 第一種為n大於零,這時可直接進行進製轉換運算 第二種為n等於零,此時無論n轉換成幾進製,輸出都為0 第三種為n小於零,此時可以先把n的值大於零,賦給另一變數,到下面再判斷n是否大於零,若大於零則輸出 還有一難點為當轉換為十一到十六進製制是的字母,這一點在...
棧的進製轉換任意進製
實驗日期 2020 4.16實驗名稱 棧的進製轉換 實驗目的 1.掌握棧表的儲存形式及其描述。2.掌握棧的建立,壓入,彈出,查詢,刪除。實驗內容 1.採用malloc函式動態分配空間 2.建立一定大小的連續空間。實驗 解決 對其重新命名使用 在彈棧時對判斷邏輯關係有混淆 解決 if s base e...
棧 利用棧實現進製轉換
利用棧的資料結構特點,將二進位制轉換為十進位制數。二進位制數是計算機資料的儲存形式,它是由一串0和1組成的,每個二進位制數轉換成相應的十進位制數方法如下 xnxn 1 x3x2x1 2 x1 2 0 x2 2 1 xn 2 n 1 乙個二進位制數要轉換為相應的十進位制數,就是從最低位起用每一位去乘以...