冒泡排序(Bubble Sort):是一种计算机科学领域的较简单的排序方法。是把一系列的数据按照一定的顺序进行排列显示(从小到大或从大到小) 它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。
例如,我们可以将数组 [5,4,3,2,1] 中的元素按照从小到大的顺序排序,输出:1,2,3,4,5
利用双重for循环语句可以达到冒泡排序的方法
思路分析:
1.一共需要的趟数我们用外层for循环;5个数据我们一共需要走4趟;长度就是数组长度减去1 arr.length - 1
⒉.每一趟交换次数我们用里层for循环;第一趟交换4次;第二趟交换3次;第三趟交换2次;第四趟交换1次;长度就是数组长度减去次数但是我们次数是从0次开始的;所以最终arr.length - i -1
3.交换2个变量就好了
代码演示:
// 冒泡排序
<script>
var arr = [5, 2, 3, 4, 1];
for (var i = 0; i <= arr.length - 1; i++) { //外层循环管趟数
for (var j = 0; j <= arr.length - i - 1; j++) { // 里面的循环管每一趟的交换次数
// 内部交换2个变量的值前一个和后面一个数组元素相比较
if (arr[j] > arr[j + 1]) { //更改if里面条件语句控制排序类型;这里是从大到小
// 交换其中的变量值
var temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
console.log(arr); // 打印输出arr数组
</script>
此文若有出入,请指出!
此致,敬礼!