冒泡排序:比较任何两个相邻的项,如果第一个比第二个大则交换位置。
原理如下图:比较相邻,就好像气泡上升到表面,因此而得名“冒泡”。
代码:
//冒泡排序
var BubbleSort =function(array) {
var length = array.length;
for (var i = 0; i < length -1; i++){
//减少上次循环确认的值所以减i提高性能
for (var j = i ;j < length -1 -i ;j++){
if (array[j] > array[j+1]){
exchange(array,j,j+1)
}
}
}
console.log(array)
}
//比较元素交换位置
var exchange = function(array,index1,index2) {
var aux =array[index1];
array[index1] = array[index2];
array[index2] = aux
}
BubbleSort([4,2,56,7,3,11,7]);
温馨提示:
冒泡是排序中最简单的,但在运行时间的角度来看是最差的一个。