免費開始練習
高考申論題 108年 [電力工程] 計算機概論

第 四 題

四、利用陣列來實作堆疊,給予如下 C 語言的宣告及建立堆疊(create_stack)的程式片段:(20 分) #define MAX_STACK 100 typedef int ITEM_TYPE; typedef struct stack_type { ITEM_TYPE items[MAX_STACK]; int top; }STACK_TYPE; void create_stack (STACK_TYPE *stack) { stack -> top = 0; } 在不考慮堆疊滿(Full)及空(Empty)的條件下,請寫出堆疊的 push 及 pop 程式片段;push 程式片段係先輸入新資料後,再移動指標; pop 程式片段係先移動指標後,再取出資料。 void push (STACK_TYPE *stack, ITEM_TYPE new_item) { } void pop (STACK_TYPE *stack, ITEM_TYPE *old_item) { }
📝 此題為申論題

思路引導 VIP

考生應先分析 create_stacktop = 0 的初始狀態。配合題意『push 先存資料再移指標』,代表資料應存入目前的 top 位置,然後 top 加 1;『pop 先移指標再取資料』則代表 top 需先減 1,再取出該位置的資料。同時需注意 C 語言的結構體指標語法。

🤖
AI 詳解 AI 專屬家教

【破題】本題測驗以陣列(Array)實作堆疊(Stack)的指標(Pointer)操作與 C 語言語法。關鍵在於理解 top 指標的初始狀態以及題幹所要求之動作順序。 【解答】 根據題目要求:

▼ 還有更多解析內容

升級 VIP 解鎖