这段代码有什么问题?为什么不排序?
for (rows = 1; rows < height; rows -= 2)
支持采取 sort [3; 1; 4; 1; 5; 9; 2; 6; 5] ;;
并返回: val it:int list = [1; 1; 2; 3; 4; 5; 5; 6; 9]
答案 0 :(得分:3)
您的代码就像bubble sort中的一个冒泡周期。它将最大元素带到最后一个位置,而其他一些更大元素则位于右侧。
请注意,您只能遍历原始列表一次。它具有线性复杂性,我们都知道仅使用比较进行排序必须是O(n * log n)。
如果要对此列表进行排序,可以多次重复该循环。
答案 1 :(得分:1)
考虑什么可以在第一个位置结束......现在它只能是列表中的第一个或第二个位置(最后一个案例中的getSource
)
答案 2 :(得分:1)
.git