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

2021-07-10 19:06:00 字數 1083 閱讀 1718

#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...