題組內容
四、請閱讀下列 C 語言程式碼片段。其中 A 為 n 個元素的 C 語言整數一維陣列,i, j,
key 以及 tmp 皆為 C 語言整數變數。請注意 C 語言的陣列索引從 0 開始起算,每列
之前的數字是每列的編號,不屬於 C 語言程式。
⑵假設程式片段開始執行前,陣列 A[]={1, 5, 8, 3, 2, 9}, n=6。請問該程式片段於 for 迴圈執行結束時,陣列 A[]的內容為何?請依索引由小到大的順序列出陣列的 元素值。(10 分) 1 for (j = 0; j < n – 1; j++) 2 { key = j; 3 i = key + 1; 4 while (i < n) 5 { if (A[i] < A[key]) key = i; 6 i = i + 1; 7 } 8 tmp = A[j]; 9 A[j] = A[key]; 10 A[key] = tmp; 11 }
詳解 (共 1 筆)
詳解
1
for (j = 0; j < n – 1; j++)
{ key = j;
i = key + 1;
while (i < n)
{
if (A[i] < A[key])
key = i;
i = i + 1;
}
tmp = A[j];
A[j] = A[key];
A[key] = tmp;
}