-
冒泡排序 : 最慢的排序算法之一,数据值会像气泡一样从数组的一端漂浮到另一端。
-
插入排序 : 类似于人们按数字或字母顺序对数据进行排序后面的要为前面腾位置。
-
选择排序 : 从数组的开头开始,将第一个元素和其他元素比较,最小的元素会被放到数组第一个位置,再从第二个位置继续。
-
希尔排序 : 它会首先比较较远的元素而非相邻的元素,让元素尽快回归到正确的位置。通过定义一个间隔序列表示在排序过程中进行比较的元素间隔。公开的序列是701,301,132,57,23,10,4,1
-
快速排序 : 在列表中选择一个元素作为基准值,排序围绕这个基准值进行,将列表中小于基准值的放入数组底部,大于放在数组顶部。
-
归并排序 : 把一系列排好序的子序列合并成为一个大的完整有序序列
冒泡排序
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>冒泡排序</title>
</head>
<body>
<script>
var CArray = function () {
this.dataStore = [10, 8,3,6,9,4,12,86,55];
this.swap = swap;
this.bubbleSort = bubbleSort;
}
function swap (arr, index1, index2) {
console.log(arr, index1, index2);
var temp = arr[index1];
arr[index1] = arr[index2];
arr[index2] = temp;
console.log(arr, index1, index2);
console.log('===========')
}
function bubbleSort () {
var data = this.dataStore;
numElements = data.length;
for (var outer = numElements; outer >= 2; --outer) {
for (var inner = 0; inner <= outer - 1; inner ++) {
if (data[inner] > data[inner + 1]) {
this.swap(this.dataStore, inner, inner+1);
}
}
}
}
var mynums = new CArray();
mynums.bubbleSort(mynums);
console.log(mynums.dataStore);
</script>
</body>
</html>