39、冒泡排序
数组排序(冒泡排序)
冒泡排序:是一种算法,把一系列的数据按照一定的顺序进行排列显示(从小到大或从大到小)
概述:
冒泡排序是一种简单的排序算法,它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来,走访数列的工作是重复地
进行直到么与再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢浮到数列的顶端。
1.一共需要的趟数 我们用外层for循环
5个数据我们一共走4趟
长度就是 数组长度 减去1 arr.length-1
2.每一趟交换次数 我们用里层 for循环
第一趟交换4次
第二趟交换3次
第三趟交换2次
第四趟交换1次
长度就是 数组长度 减去 次数
但是我们次数 是从0开始的 所以 最终 arr.length-1
3.交换2个变量就好了
// 外层管趟数
for(var m=0;m<arr.length;m++){
// 内层循环管 每一次交换的次数
for(var n = 0;n<arr.length-m;n++){
// 内部交互两个变量的值 前一个元素与后一个元素对比
if(arr[n]>arr[n+1]){
// 声明一个临时变量 temp
var temp = arr[n];
arr[n]=arr[n+1];
arr[n+1] = temp;
}
}
}