# 冒泡排序
冒泡排序是一种简单的排序算法,它重复地走访要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来,走访数列的工作是重复地。走访数列的工作是重复地进行直到没有再需交换,也就是说该数列已经排序完成。这个算数的名字由来是因为越小的元素会经由交换慢慢浮到数列的顶端
# 案例解析
数组arr 5 4 3 2 1 第一趟 4 3 2 1 5 第二趟 3 2 1 4 5 第三趟 2 1 3 4 5 第四趟 1 2 3 4 5
一共需要的趟数 我们用外层for循环
5个数据我们一共需要走4趟
长度是数组长度 减去1 arr.length -1
每一趟交换的次数 我们用里层for循环
第一趟 交换4次 第二趟 交换3次 第三趟 交换2次 第四趟 交换1次 长度就是数组长度 减去次数 但是我们的次数从0开始 所以最终 arr.length -i -1 交换2个变量就好了
<script>
var arr = [1,3,4,54,6,5,767,68,45];
// 外部循环
for(var i =0; i<=arr.length-1; i++){
// 内层循序 管交换的趟数
for(var j =0; j<=arr.length -i -1;j++){
if(arr[j] > arr[j+1]){
var temp ;
temp =arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
console.log(arr);
</script>