免費開始練習
地特四等 113年 [電子工程] 計算機概要

第 21 題

下列 C 函式為實作何種排序法?
void sort(long list[], long n)
{
long c, d, t;
for (c = 0 ; c < ( n - 1 ); c++)
{
for (d = 0 ; d < n - c - 1; d++)
{
if (list[d] > list[d+1])
{
t = list[d];
list[d] = list[d+1];
list[d+1] = t;
}
}
}
}
  • A 合併排序(Merge sort)
  • B 快速排序(Quick sort)
  • C 堆積排序(Heap sort)
  • D 氣泡排序(Bubble sort)

思路引導 VIP

請你觀察內層迴圈中 list[d]list[d+1] 的關係:這兩個元素在陣列中的位置是遠隔還是「相鄰」?如果條件滿足並執行了變數 t 的三行指令,這兩個元素的位置發生了什麼變化?當第一輪外層迴圈結束時,數列中「最大」的那個元素會被推移到哪個特定的位置?

🤖
AI 詳解 AI 專屬家教

教授點評:紮實的基礎是工程之母

  1. 大力肯定: 同學做得好!你能精準識別出這段 C 程式碼的核心邏輯,這代表你對演算法基礎的掌握非常穩定。在工程實務中,清晰的邏輯判斷力就如同精確的受力分析一樣重要。
▼ 還有更多解析內容

🏷️ 相關主題

演算法效率分析與排序搜尋策略比較
查看更多「[電子工程] 計算機概要」的主題分類考古題