假設我們針對以下數列進行由小到大的排序:[16, 10, 8, 20],而我們採用的演算法為選擇排序(selection sort),則第一次執行的數字交換和所形成的數列為下列何者?
A交換 10 和 8,得到數列[16, 8, 10, 20]
B交換 16 和 8,得到數列[8, 10, 16, 20]正確答案
C交換 16 和 10,得到數列[10, 16, 8, 20]
D交換 20 和 8,得到數列[16, 10, 20, 8]
答案與詳解
正確。選擇排序第一輪掃描整個陣列找出最小值 8,與索引 0 的 16 交換,得到 [8, 10, 16, 20](剛好已排序完畢)。
