function insertionSort(ul){
for(var i =0; i< ul.length; i++){
for(var j = i-1; j<ul.length; j++){
if(ul[j] > ul[j+1]){
[ul[j],ul[j+1]] = [ul[j+1], ul[j]]
}
}
}
return ul
}
var ul = [5, 3, 1, 2, 4];
console.log(insertionSort(ul));
^我的implmentation是否被认为是插入排序,还是冒泡排序?
答案 0 :(得分:0)
使用插入排序,排序过程完成,同时填充数组。因此,您的代码不是插入排序:它以已填充的数组开始。
您没有指定编程语言,但您的代码看起来非常奇怪的第一次测试:if (ul[-1] > ul[0]) ...
(在运行时第一次进入嵌套循环时进行测试)。因此,也可能不是冒泡。你的实施应该得到改善。