冒泡排序

冒泡排序是一种简单的排序算法,他重复的走过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复的进行直到没有在需要交换的,也就说该序列已经排序完成,这个算法的名字由来是因为越小的元素会经由交换慢慢浮现到数列的顶端。

冒泡排序的实现方法

 1             //冒泡排序呢  从小到大排序
 2             var numbers = [97,68,72,29,51,45];
 3             // 外层循环 控制趟数;每一趟找到一个最大值
 4             for (var i=0;i<numbers.length-1;i++) {
 5                 //假设数据排好顺序了
 6                     var isSort = true;
 7                 // 内层循环,控制比较的次数,并且判断两个数的大小,把大的数往后移,小的数往前移动
 8                 for (var j=0;j<numbers.length-1-i;j++) {
 9                     //两两比较  从小到大排序
10                     if(numbers[j] > numbers[j+1]){
11                         //没有排好
12                         isSort = false;
13                         //置换
14                         var tmp = numbers[j];
15                         numbers[j] = numbers[j+1];
16                         numbers[j+1] = tmp;
17                     }
18                 }
19                 
20                 //某一趟结束,判断下排序是否结束
21                 //如何判断排序是否排好,根据是否发生了数据交换,如果发生了数据交换说明没有排好
22                 if(isSort){
23                     //如果已经排好顺序
24                     break;
25                 }
26             }
27             console.log(numbers);

 

posted @ 2018-07-09 11:28  薛薛哈哈  阅读(123)  评论(0)    收藏  举报