棧操作和進製轉換

2021-10-05 08:19:50 字數 814 閱讀 4967

棧操作及數進製轉換的實現(將十進位制轉換成二進位制)只考慮整數

棧的基本操作包括:初始化棧、入棧、出棧、判定棧空、判定棧滿、取棧頂元素等;

從數制轉換示例可以看出,十進位制數轉換成相應二進位制數可使用棧存放,再依次彈出棧頂元素輸出,即可得到相應二進位制結果。

棧的結構設定:

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 乙個二進位制數要轉換為相應的十進位制數,就是從最低位起用每一位去乘以...