冒泡排序算法相对于其他排序算法来说是最简单的,与其他排序算法相比运行效率较低,是最适合学习数据结构算法入门的一种算法。
冒泡排序的思路
- 一开始,从第一个元素(最左端)起依次比较相邻的元素。
- 如果第一个(左边)比第二个(右边)大,就交换他们两个。
- 接着向右移动一个位置,
- 重复2,3,直到比较完最后一对之后,那么最后的元素即最右端的元素一定是最大的元素。
- 因为最后一个肯定是最大的,所以除去最后一个,针对剩余元素重复以上步骤。
- 依次类推,直到没有任何一对数字需要比较,排序完成。
冒泡排序的实现
简单的JS数据代码实现冒泡排序
//1.定义一个简单的无序数组
var num = [12, 13, 10, 31, 11, 19];
//2.反向循环,每次剔除最右边的数,因此次数越来越少
for (var j = num.length - 1; j > 0; j--) {
//3.根据j的次数,比较循环到j位置
for (var i = 0; i < j; i++) {
//4.如果i位置比i+1位置的数据大,那么就交换
if (num[i] > num[i + 1]) {
var temp = num[i];
num[i] = num[i + 1];
num[i + 1] = temp;
}
}
}
//控制台打印输出结果查看数组是否排数序好
console.log(num);