第29205题 单选题
下列关于C++实现升序选择排序算法的代码片段中,正确的是哪一项?

假设待排序的整型数组为int arr[] = {5,3,8,4,2};,数组长度为n=5,以下哪个代码可以正确完成升序排序?

A

for(int i=0;i<n;i++){
    int minIdx = i;
    for(int j=0;j<n;j++){
        if(arr[j]<arr[minIdx]) minIdx=j;
    }
    swap(arr[i],arr[minIdx]);
}```
B

for(int i=0;i<n-1;i++){
    int minIdx = i;
    for(int j=i+1;j<n;j++){
        if(arr[j]>arr[minIdx]) minIdx=j;
    }
    swap(arr[i],arr[minIdx]);
}```
C

for(int i=0;i<n-1;i++){
    int minIdx = i;
    for(int j=i+1;j<n;j++){
        if(arr[j]<arr[minIdx]) minIdx=j;
    }
    swap(arr[minIdx],arr[minIdx]);
}```
D

for(int i=0;i<n-1;i++){
    int minIdx = i;
    for(int j=i+1;j<n;j++){
        if(arr[j]<arr[minIdx]) minIdx=j;
    }
    swap(arr[i],arr[minIdx]);
}```
程序运行统计
暂无判题统计
提交0次 正确率0.00%
答案解析