冒泡排序

摘要:  关于冒泡排序的思路和算法

所谓冒泡排序就是给定一组数,针对这组数进行的一种排序。具体的过程是,从第一个数开始,依次与后面的数进行比较,若 前一个数比后一个数大,则交换位置,再与第三个数进行比较,最后出现在结尾的就是本轮最大数字,再次重复直到排除顺序,这是选出最大来进行排列,也可以按选出最小来排,原理是一样的。

比如:

 

用第一个数依次与后面的数比较,比对方大,就交换位置,比对方小就不动,并放弃当前数字,用对方来与后面的数字继续比较,为的就是一次又一次的选出最大的数字。

  比较过程大致:

1、比较相邻的元素。如果第一个比第二个大(小),就交换他们两个。

2、对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大(小)的数。

3、针对所有的元素重复以上的步骤,除了最后已经选出的元素(有序)。


4、持续每次对越来越少的元素(无序元素)重复上面的步骤,直到没有任何一对数字需要比较,则序列最终有序。

 1 具体实现代码:
 2 public static void main(args[]){
 3     for(int i=0;i<arr.length;i++){//外层循环控制轮数
 4          for(int j=0;i<arr.length-1-i;j++){//内层循环控制比较次数
 5               if(arr[j]>arr[j+1]){
 6                    int  temp=arr[j];
 7                    arr[j]=arr[j+1];
 8                    arr[j+1]=temp;
 9             }  
10         }
11     }  
12 }      
乾坤未定,你我皆是黑马
原文地址:https://www.cnblogs.com/liuqijia/p/11416453.html