申論題內容
四、堆疊(Stack)和佇列(Queue)分別是用來記錄先進後出(First In Last Out)
和先進先出(First In First Out)等特定的工作排程形式,但若今有一工
作排程需按照已進入準備排程的最小工作編號執行(不同工作的編號不
會重複) ,則可採用鏈結串列(Linked List)來操作。給定一個已建置好
的鏈結串列資料結構,其中的每個節點(Node)含有三個欄位,第一個
欄位為 JobName,存放準備執行之工作名稱,第二個欄位為 JobID,存
放該工作之編號,第三個欄位為指標欄位 Next,指向鏈結的下一個節
點。另有一指標 Head,指向鏈結串列的第一個節點,而最後一個節點的
指標欄位 Next,指向 NULL 代表串列的結束。請寫出虛擬程式碼(Pseudo
Code),讀取鏈結串列中具有最小編號的工作名稱,並將該存放節點從
鏈結串列中刪除並釋放被刪除節點所占用的記憶體空間。虛擬程式碼需
附帶適當的註解,說明操作的程序及理由。(25 分)