C語言棧的實現進製轉換

2021-07-30 15:22:51 字數 772 閱讀 5563

棧是限定僅在表尾進行操作的線性表。因此,對棧來說,表尾端有其特殊含義,成為棧頂,相應地,表頭端稱為棧底。

下面用c實現棧的基本操作以及利用棧來實現乙個進製轉換程式

#include 

#include

#include

using namespace std;

#define stack_init_size 100

#define stackincrement 10

typedef int selemtype;

typedef structsqstack;

int initstack(sqstack &s)

//新增棧元素

int push(sqstack &s,selemtype e)

* s.top = e;

s.top ++ ;

return1;}

int pop(sqstack &s,selemtype &e)

int gettop(sqstack s,selemtype &e)

int stackempty(sqstack s)

int main()

int e;

while(!stackempty(s))

return

0;}

測試結果:

c語言之進製轉換(棧實現)

從上兩篇部落格中我們可以知道,棧具有後進先出的特性,而進製轉換的列印輸出剛好與計算過程相反,滿足棧這後進先出的特性,所以可以用棧很快的實現進製轉換,下面是用棧實現進製轉換的c函式 void conversion sqstack pstack,unsigned int n,const unsigned...

c語言 順序棧的應用 進製轉換

include include define stack init size 100 define stack increment 10 using namespace std typedef struct stack 結構體定義 stack 函式宣告部分 void error char s 錯誤處...

棧 利用棧實現進製轉換

利用棧的資料結構特點,將二進位制轉換為十進位制數。二進位制數是計算機資料的儲存形式,它是由一串0和1組成的,每個二進位制數轉換成相應的十進位制數方法如下 xnxn 1 x3x2x1 2 x1 2 0 x2 2 1 xn 2 n 1 乙個二進位制數要轉換為相應的十進位制數,就是從最低位起用每一位去乘以...