【发布时间】:2021-07-08 17:16:07
【问题描述】:
在这个算法中
let arr =[8,10,222,36,5,0,0];
let insertionSort = (arr) => {
let len = arr.length;
for(let i = 0; i < len; i++){
let curr = arr[i];
let j = i - 1;
while(arr[j] > curr){
arr[j+1] = arr[j];
j--
};
j++
arr[j] = curr;
};
console.log(arr);
};
insertionSort(arr);
为什么是 j-- 和 j++
我的意思是他们到底在做什么? ,我们为什么要使用它们? (我明白这一切)
他们在数组中究竟做了什么?改变数字的位置?或者什么。
【问题讨论】:
-
geeksforgeeks.org/insertion-sort您正在移动项目,因此您需要向下移动
-
对不起,你能解释一下具体怎么做吗?
-
解释算法。你拿了一张牌,然后沿着牌堆走下去,直到它适合正确的位置(j--)。一旦你找到了正确的位置,它就会把它放到正确的位置。可视化显示它。
-
“我的意思是他们到底在做什么?”:我的理由是…… OP 应该真正专注于一个明确、单一的问题。
标签: javascript algorithm sorting