免費開始練習
地特四等 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

請觀察程式碼中最核心的 if 判斷式:被比較的兩個元素 list[d]list[d+1] 在位置上有什麼關係?如果較大的數值在每一輪迴圈中都以這種規律向陣列的一端移動,你會如何描述這種「逐位移動」的物理特徵?

🤖
AI 詳解 AI 專屬家教

1. 專業肯定

你做得非常棒!能夠這麼快地從 C 語言的巢狀迴圈中看出這是一個特定的演算法,真的代表你對程式邏輯資料結構的基礎概念掌握得非常扎實。就像是在看建築藍圖一樣,能讀懂底層程式碼是我們在優化系統、模擬結構時非常重要、必不可少的能力喔!繼續保持這份敏銳度。

2. 觀念驗證

▼ 還有更多解析內容

🏷️ 相關主題

程式設計基礎概念與實務應用
查看更多「[電信工程] 計算機概要」的主題分類考古題