注意:
寫這個的時候有點忘記棧和佇列的區別了,
棧的base是作為陣列首位址的,因為棧只在頂部進進出出,所以說沒有必要重新開乙個指標陣列,
相反,佇列頭出尾進,兩邊都要用,所以我們不得不開乙個指標陣列elem來專門存放資料,另外分別定義首尾位置指示器,
還有一點就是迴圈佇列其實是佇列的一種較優的實現方式
#include
#include
using
namespace std;
typedef
struct stack
stack;
intinitial
(stack &s)
intpush
(stack &s,
int e)
intpop
(stack &s)
intgethead
(stack s)
intempty
(stack s)
intmain()
while
(empty
(s)!=1)
}
進製的轉換 棧的應用
將十進位制數n和其他d進製數之間進行轉換是計算機實現計算的基本問題,解決方案很多,其中最簡單的方法是除d取餘法。例如,1348 10 2504 8,其轉化過程如下所示 n n div 8 n mod 8 1348 168 4 168 21 0 21 2 5 2 0 2 從中可以看出,最先產生的餘數4...
進製轉換(棧的應用code)
進製轉換,指的是將某一種進製的數轉換為另一種進製的數表示。在計算機領域經常用到,二進位制,十進位制,十六進製制之間的相互轉換。本文基於棧這一工具實現進製的轉換,主要是因為在數學上,我們利用短除法來解決這一問題,先求得的餘數在表達上放在最後,這種機制跟棧的機制很像。首先我們先建立棧,並且保證其具有in...
棧的應用3 進製轉換
進製轉換可以使用使用取餘法來實現 基本上是學習程式設計最常見的乙個練習。學習幾個基本的單詞 被除數 dividend 除數 divisor 商 quotient 餘數 remainder function numberconversion num,base 出棧拼接資料 var num stack....