js常见的排序方法
冒泡排序
冒泡排序作为最常见的排序方法,就是每次比较相邻两个数字的大小,将最大的放在后面,依次类推,最后面一个就是最大的。然后依次往前排序。
var arrayOne = [5, 8, 6, 4, 3, 1, 2, 9, 7];
console.log(arrayOne);
var templateVal = "";
// 冒泡排序就是将一组数组进行从小到大或是从大到小的排列方式。
for (var i = 0; i < arrayOne.length; i++) {
for (var j = i + 1; j < arrayOne.length; j++) {
if (arrayOne[i] > arrayOne[j]) {
templateVal = arrayOne[i];
arrayOne[i] = arrayOne[j];
arrayOne[j] = templateVal;
}
}
}
console.log(arrayOne);
选择排序
选择排序就是每次循环对比选择一个最小值,然后将最小值依次排列即可得到新的排列好的数组;
// 选择排序
var arrayOne = [5, 8, 6, 4, 3, 1, 2, 9, 7];
console.log(arrayOne);
var templateindex = "";
var templateVal = "";
for (var i = 0; i < arrayOne.length; i++) {
templateindex = i;
for (var j = i + 1; j < arrayOne.length; j++) {
if (arrayOne[j] < arrayOne[templateindex]) {
templateindex = j;
}
}
if (templateindex != i) {
templateVal = arrayOne[templateindex];
arrayOne[templateindex] = arrayOne[i];
arrayOne[i] = templateVal;
}
}
console.log(arrayOne);
插入排序
插入排序是从第二位数开始与之前的所有数字从第一位进行比较,如果当前数小于对比的书;就拿当前数放在该数之前;
// 插入排序
var arrayOne = [5, 8, 6, 4, 3, 1, 2, 9, 7];
console.log(arrayOne);
var templateindex = "";
var templateVal = "";
for (var i = 1; i < arrayOne.length; i++) {
for (var j = 0; j < i; j++) {
if (arrayOne[i] < arrayOne[j]) {
templateVal = arrayOne[i];
arrayOne[i] = arrayOne[j];
arrayOne[j] = templateVal;
}
}
}
console.log(arrayOne);