冒泡排序

JAva冒泡排序的原理:依次比较相邻的两个数,将小数放在前面,大数放在后面。即首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。重复以上过程,仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第2个数),将小数放前,大数放后,一直比较到最大数前的一对相邻数,将小数放前,大数放后,
第二趟结束,在倒数第二个数中得到一个新的最大数。如此下去,直至最终完成排序。

思路:采用两个for循环,最外层的for循环是让元素循环比较的次数,有多少个元素就要循环多少次,最里层的for循环是用来依次比较相邻两个数的,循环的次数由会依次减少,因为当找到了最大的数后,就不用在比较这个最大数了。 主要代码如下:

 1 class Demo 
 2 {
 3     public static void main(String[] args) 
 4     {
 5         
 6         //需求:每次将数组中最大的元素把他移到最右边去
 7         int[] arr = {7,3,9,12,6,2};
 8         //将最大的值移到最右边
 9        10         //------这中排序就是冒泡排序-------------------
11         for(int i =0;i<arr.length-1;i++){
12 
13             for(int j=0;j<arr.length-1-i;j++){
14 
15                 if(arr[j]>arr[j+1]){
16                     int temp = arr[j];
17                     arr[j]=arr[j+1];
18                     arr[j+1] = temp;
19                 }
20             }    
21         }
22 }

 

 

原文地址:https://www.cnblogs.com/lanyinhao/p/6063251.html