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

at197242 单选题 共 个子题

假设待排序的整型数组为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]);
}
正在加载题目数据…
已答 /
子题
该题型需在试卷/作业中作答,单题练习暂不支持
答案解析
讨论
发布
登录后参与讨论 立即登录
发布讨论需先绑定并验证手机号 去绑定手机号
加载中…
我
我
回复 @
回复 @
发送
还没有人讨论,来发表第一条吧