9 下列C 語言程式片段為何種排序法?for(int i=0; i<n;i++){int j=i;for(int k=i+1; k<n;k++)if(a[k] <a[j])j=k;int temp = a[i]; a[i]=a[j]; a[j]=temp;}
(A)插入排序法(Insertion Sort)
(B)選擇排序法(Selection Sort)
(C)氣泡排序法(Bubble Sort)
(D)合併排序法(Merge Sort)
{
int j=i;
for(int k=i+1; k<n;k++)
if(a[k] <a[j])j=k;
int temp = a[i]; a[i]=a[j]; a[j]=temp;
} (A)插入排序法(Insertion Sort)
(B)選擇排序法(Selection Sort)
(C)氣泡排序法(Bubble Sort)
(D)合併排序法(Merge Sort)
答案:登入後查看
統計: A(25), B(55), C(77), D(14), E(0) #487255
統計: A(25), B(55), C(77), D(14), E(0) #487255
詳解 (共 3 筆)
#751370
選擇排序是小->大
氣泡排度是大->小
所以這一題是選擇排序(p.s 我是找維基來判斷的)
4
2
#769757
for(int i=0; i<n;i++)
{
int j=i; //
for(int k=i+1; k<n;k++) //
if(a[k] <a[j])j=k; //判斷a[1]~a[n]是否有比a[0]小的值,將j的位/置設為最小值的位置
int temp = a[i]; a[i]=a[j]; a[j]=temp; //將j的位置跟a[i]->a[0]的位置對調,此時第一位為最小值
}
※ 固定a[0]之後,再把a[1]跟a[2]~a[n]比較,選取第2小值放進a[1],以下類推...
3
0
#743198
這個答案不是氣泡排序嗎?
1
0