简单的做一组数组由大到小、与小到大的排序
原数据 [33, 23, 45, 13,56 ,75 ,12, 34]
- 由小到大排序
var arr = [33, 23, 45, 13,56 ,75 ,12, 34];
var temp = 0;
for(var i = 1; i < arr.length; i++) {
var j = i-1;
temp = arr[i];
// 着重理解j值的变化
for (j; j >= 0 && temp < arr[j]; j--) {
a[j+1] = a[j];
}
a[j+1] = temp;
}
console.log(arr); // [12, 13, 23, 33, 34, 45, 56, 75]
- 由大到小排序
var arr = [33, 23, 45, 13,56 ,75 ,12, 34];
var temp = 0;
for(var i = 1; i < arr.length; i++) {
var j = i-1;
temp = arr[i];
// 相较于上面的方法只在 [temp > arr[j]]这块比较符号做了改变
// 那这是为什么呢?j的值是怎么变化的?
for (j; j >= 0 && temp > arr[j]; j--) {
a[j+1] = a[j];
}
a[j+1] = temp;
}
console.log(arr); // [75, 56, 45, 34, 33, 23, 13, 12]
好的,代码就到这里,个中理解大家可以亲自敲敲看!