一、冒泡排序
冒泡排序规则
冒泡排序是最慢的排序算法之一,之所以叫冒泡排序是因为它会依次(假设这里是正序)遍历数据,并两两比较相邻数据,并按照升序(或降序)将较大(或小)的数据往右移动,这样最大(或最小)的数据就会像气泡一样慢慢浮动到顶端。假如这里有一组降序排序的数据 5,4,3,2,1,想要将它按升序排序,用冒泡排序的过程如下图:
冒泡排序的代码实现:
function bubbleSort(arr) {
var nums = arr.length;
var temp = 0;
for(var i = 0; i < nums - 1; i++) {
for(var j = 0; j < nums - 1 - i; j++) { // 已经排好的数不需要比较,循环的次数越来越少
if(arr[j] > arr[j + 1]) { // 两两比较,如果前面一个比后面一个大则交换位置
temp = arr[j];
arr[j] = arr[j+1];