选择排序 - 显示每个中间数组

时间:2011-04-27 10:39:20

标签: sorting selection

描述选择排序并对其进行排序[7,4,8,2,9,1](递增顺序),显示选择了新元素的每个中间数组。对于每个中间数组,指示数组的哪个部分已排序。同时指出每个中间阵列总共需要多少次比较和多少变量赋值。

我的回答:[7,4,8,2,9,1]

7,4,8,2,1,9(第一关) 7,4,1,2,8,9(第2遍) 2,4,1,7,8,9(第3遍) 2,1,4,7,8,9(第4遍) 1,2,4,7,8,9(第5遍)

我正在做的是找到数组中最大的数字,然后将它扔到数组的后面。

请你能告诉我出错的地方,因为我觉得这个答案并不完整。

干杯。

1 个答案:

答案 0 :(得分:0)

好吧,你把数组排序好了,但是你忘记了“对于每个中间数组,指示数组的哪个部分被排序。同时指出每个中间数组总共需要多少次比较和多少变量赋值。“

例如,第一遍:

中间数组:[7,4,8,2,1,9]

排序部分:a [5:5] = [9]

需要比较:5(比较4& 7,8& 7,2& 8,1& 8,8& 9)

变量赋值:4(max:= 7,max:= 8,max:= 9,last_position:= max)

继续下一次传球。

你没有给出分配数量和比较数字的精确定义,所以我只使用了一个听起来合理的标准。只要确保使用你指定的任何指定 - 如果它说了不同的东西,那么不要指望你的答案与我的匹配。