冒泡排序基本原理:
冒泡排序的作用是把一堆无序数组有序化
以从小到大排序为例
核心算法如下:
一、变量 i 相当于一个计数器,记录趟数(数组有几位数就循环几趟,因为交换过程中是两两交换的,最后两位数交换结束就代表排序结束,所以最后一趟是可以忽略不计的),每一趟会把最大的数上浮到最后一位,故称为“冒泡排序”。
二、变量 s 记录比较次数,每一趟从都是从第一个数开始依次与后面的两两作比较,大的换到后面,这样一来每一趟走完最大的数就会被排到最后面。
代码如下:
<script>
var arr = [17,61,15,44,88];
//外循环:每一趟会把最大的换到最后面
for (var i = 0; i < arr.length; i++) {
//内循环:再次从第一位开始交换,到上次排序完毕的位置结束
for (var s = 0; s < arr.length - i; s++) {
if (arr[s] > arr[s+1]) {
var temp = arr[s];
arr[s] = arr[s+1];
arr[s+1] = temp;
}
}
}
//浏览器输出数组
document.write(arr);
</script>