首页 > 试题广场 >

用选择排序方法对线性表(17,9,20,21,1,7,4,1

[单选题]
用选择排序方法对线性表(17,9,20,21,1,7,4,11,5)进行升序排序时,第3趟排序的结果是( )
  • 9,17,20,21,1,7,4,11,5
  • 1,4,5,21,17,7,9,11,20
  • 1,4,5,17,9,20,21,7,11
  • 9,1,7,4,11,15,17,20,21
选择排序代码如下:
public static void selectSort(int[] a){ int minIndex, temp; int len = a.length; for (int i = 0; i < len - 1; i++){
minIndex = i; for (int j = i + 1; j < len; j++){ if (a[j] < a[minIndex]){
minIndex = j;}
}
temp = a[i]; a[i] = a[minIndex]; a[minIndex] = temp; }
}
由此可得
第一次: 1,9,20,21,17,7,4,11,5
第二次:1,4,20,21,17,7,9,11,5
第三次:1,4,5,21,17,7,9,11,20

故选B。
代码缩进怎么都调不对。。。。将就一下吧。。。尴尬  - -


编辑于 2019-04-08 17:31:56 回复(1)
<p>被比较值[i]与它之后的每一个值进行比较,将这一遍的比较值里最小的与[i]交换,然后i++,重复上述操作</p>
发表于 2020-07-22 10:19:46 回复(0)
选择排序法升序,每一次选出未比较的序列中最小值,与前面的元素互换位置;记得是互换!!
发表于 2020-05-25 09:51:34 回复(0)
每一轮的直接选择排序,会使 当前未排序的序列中的第一个数据变得有序
发表于 2022-03-30 00:05:12 回复(0)
这里没有正确答案吧
发表于 2022-02-28 15:38:53 回复(0)
做错了,我还以为是选择插入排序呢
发表于 2021-03-31 14:59:29 回复(0)
升序的选择排序是检索最小的值与第一个值交换,c选项未交换
发表于 2020-04-01 16:28:16 回复(0)