![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
1 public class Demo { 2 public static void main(String[] args){ 3 //声明一个数组,并为数组赋值 4 int[] array={45,90,89,12,56,6,67}; 5 //冒泡排序 6 /*用for循环嵌套来为数组进行冒泡排序,冒泡排序的第一次会挑选出最大值,第二次挑出老二... 7 * 采用的是互相之间两两比较的模式 8 */ 9 for(int i=0;i<array.length-1;i++){ 10 for(int j=0;j<array.length-1;j++){ 11 if(array[j]>array[j+1]){ 12 int temp=array[j+1]; 13 array[j+1]=array[j]; 14 array[j]=temp; 15 } 16 } 17 } 18 //选择排序 19 /* 选择排序比冒泡排序的效率要高一倍,采用的是打擂台的模式, 20 第一个将所有人打败后排在首位,第一个人获得第一后就不再参加比较 . */ 21 for(int i=0;i<array.length-1;i++){ 22 for(int j=i;j<array.length-1;j++){ 23 if(array[i]<array[j+1]){ 24 int temp=array[j+1]; 25 array[j+1]=array[i]; 26 array[i]=temp; 27 } 28 } 29 } 30 //用for循环输出数组 31 for(int k=0;k<array.length;k++){ 32 System.out.println(array[k]); 33 } 34 } 35 }
冒泡排序和选择排序的比较:选择排序的效率要比冒泡排序高一倍多。