資料結構之棧 十進位制轉其他進製 棧基本操作

2022-09-20 11:12:15 字數 1128 閱讀 8808

最近新學習到了棧,對於棧的理解比較淺顯,這裡說一下棧的基本操作,用了進製轉換的例子:

以十進位制為例子,例如:

(1348)10=(2504)8

運算過程:

n              ndiv 8nmod 8

1348         168              4

168           21                0

21             2                 5

2               0                 2

下面是**部分:

1.定義棧

typedef struct

sqstack;

2.初始化棧

//

initiate the stack

int initstack(sqstack &s)

3.壓棧

//

push an element into the stack

int push(sqstack &s,int

e)

*(++s.top)=e;

return1;

}

4.出棧

//

pop an element from the stack

int pop(sqstack &s,int &e)

5.獲取棧頂元素

//

get the top of the stack

int gettop(sqstack s,int &e)

6.進製轉換

void conversion(int num,int

size)

while (s.top!=s.base

)

}

總結:利用棧的lifo的特點,恰好能夠快速地處理進製轉換時倒敘輸出的方式,這個例子也能很好地理解棧的特點,學習棧的初始化,棧操作:壓棧,出棧,獲取棧頂元素等。

C 十進位制轉其他進製

c 十進位制轉其他進製 開發工具與關鍵技術 c visualstudio在學習c 基礎過程中,接觸到進製轉換,個人想要嘗試一下用c 來寫乙個進製轉換,這篇文章主要內容是十進位制轉其他進製,現在的進製有十六進製制 十進位制 八進位制 二進位制。我們先來看 include include using n...

資料結構示例之十進位制轉換其他進製

以下為 十進位制數轉換為其他進製數 的示例 1.用c語言實現的版本 include include define stacksize 100 假定預分配的棧空間最多為100個元素 typedef int datatype 假定棧元素的資料型別為整型 typedef structseqstack 初始...

資料結構之 棧 十進位制轉d進製(堆疊陣列模擬)

其實這篇文章開出來主要是水文章 棧 後進先出的婊 特點 只能在某一端插入和刪除的特殊的線性表 操作 進棧 push 向棧頂插入元素 出棧 pop 將棧頂元素刪除 實現 定義乙個長為n的陣列,用乙個top 相當於指標 指向棧頂,若top 0,則表示棧空 top n,則表示棧滿。進棧時top 1,出棧時...