描述选择排序并对其进行排序[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遍)
我正在做的是找到数组中最大的数字,然后将它扔到数组的后面。
请你能告诉我出错的地方,因为我觉得这个答案并不完整。
干杯。
答案 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)
继续下一次传球。
你没有给出分配数量和比较数字的精确定义,所以我只使用了一个听起来合理的标准。只要确保使用你指定的任何指定 - 如果它说了不同的东西,那么不要指望你的答案与我的匹配。