陣列模擬簡單的棧例題

2021-09-25 06:22:51 字數 542 閱讀 8382

題目:將十進位制轉化為八進位制

進製轉換的方法:用十進位制的數不斷地除以要轉換的進製,取出餘數進行記錄,直到商為零,倒序輸出餘數即為轉換後的數。

分析題目得到的餘數需要進行儲存並且倒敘輸出,我們可以聯想到棧。先進後出

先用陣列模擬棧:

#define maxlen 100

int a[maxlen];

int top=0;//都是全域性變數,方便我們進行修改

int pop()//出棧操作

else return -1;

}int push(int n)//壓棧操作

else return -1;

}bool isempty()//判空

}

主函式:需要自己加上標頭檔案哦

int main()

push(a%8);

while(isempty())

}

陣列模擬棧

在資料結構中棧是一種線性結構也是有序列表,棧的特點就是 filo 先進後出 棧是限制線性表中元素的增加和刪除只能在一端進行的特殊線性表,變化的一端為棧頂 top 固定的一端棧底 bottom 在學習棧時我們可以把它想象成乙個桶,依次放入東西,在取東西時只能從上面依次取出,不可能直接取出下面的東西。棧...

陣列模擬棧

棧的結構相當於生活中常見的一端封閉,一端開頭的容器,如下圖 底部封死後,只能通過上邊的埠來訪問東西,即先放入的後取出。棧就是這樣一種結構。棧 是一種線性資料結構,並且棧中的元素只能先入後出,並且最早進入的元素存放的位置叫棧底 封閉端 最後進入的元素存放的位置叫棧頂 開口端 可以通過陣列或者鍊錶來實現...

雞蛋棧(陣列模擬棧)

繼佇列之後,我們又來學習一種新的資料結構 棧。將佇列的頭部封閉後,就構成了棧這種資料結構,原來佇列頭部就是棧底,原來佇列的尾部就是棧頂。棧與佇列的不同就在於棧的底端是封閉的。所以,棧的插入和刪除操作只能在棧的一端進行,即棧頂。棧的插入操作稱為入棧,刪除操作稱為出棧。底 頂 底 頂 第二行輸入乙個數n...