#include#include#define stack_init_size 100
#define stack_increment 10
using namespace std;
typedef struct stack //結構體定義
stack;
//函式宣告部分
void error(char *s); //錯誤處理函式
void init_stack(stack & l);//順序棧的初始化
void destroy_stack(stack & l); //銷毀順序棧
void clear_stack(stack & l); //清空順序棧
void push_stack(stack &l, int e); //壓棧操作函式
void pop_stack(stack &l, int e); //出棧操作函式
void increment_stack(stack & l); //增加順序棧空間函式
void conversion_stack(stack &l); //進製轉換函式
//函式實現部分
void error(char *s)
void init_stack(stack &l)
void destroy_stack(stack &l)
void clear_stack(stack &l)
void increment_stack(stack &l)
l.elem = newstack;
delete l.elem;
l.stacksize += stack_increment;
}void push_stack(stack &l, int e)
void pop_stack(stack &l, int e)
void conversion_stack()
while (!(s.top == -1))
cout << endl;
destroy_stack(s);
}int main() //主函式測試三次
順序棧實現進製轉換
1.定義乙個順序棧的結構體。typedef struct sqstack 2.寫乙個建立空順序棧的函式 status init stack sqstack s 3.寫乙個輸出順序棧元素的函式 status exit stack sqstack s printf n 4.這裡進製轉換的方法就是,先把k...
C語言棧的實現進製轉換
棧是限定僅在表尾進行操作的線性表。因此,對棧來說,表尾端有其特殊含義,成為棧頂,相應地,表頭端稱為棧底。下面用c實現棧的基本操作以及利用棧來實現乙個進製轉換程式 include include include using namespace std define stack init size 10...
進製的轉換 棧的應用
將十進位制數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...