免費開始練習
moea_joint_essay 113年 [資訊] 資訊管理、程式設計

第 五 題

五、請實作下列函式以完成設計 1 個插入排序法(Insertion Sort),據以依參數值決定排序方式採遞增或遞減。(18 分)
bool isInverse(int x, int y, bool isAsc); //判斷傳入的 x、y 是否反序
void InsertionSort(int *arr, int len, bool isAsc); //插入排序
(註:參數 arr 為傳入的整數陣列;參數 len 為整數陣列的長度;參數 isAsc 為是否遞增,函式 InsertionSort 應呼叫函式 isInverse。)
📝 此題為申論題

思路引導 VIP

isInverse 用來判斷是否需要交換位置,若是遞增排序 (isAsc=true),當前元素大於後面的元素 (x > y) 就是反序;遞減排序則相反。接著用標準的插入排序迴圈,使用 isInverse 來作為內層移動資料的判斷條件。

🤖
AI 詳解 AI 專屬家教
// 判斷傳入的 x、y 是否反序 (是否需要將元素往後挪動)
bool isInverse(int x, int y, bool isAsc) {
▼ 還有更多解析內容

🏷️ 相關主題

物件導向程式設計與系統分析核心概念
查看更多「[資訊] 資訊管理、程式設計」的主題分類考古題