冒泡排序

冒泡排序

 1 public static void main(String[] args) {
 2         int[] nums = {1,2,88,7,1,20,30,18,92};
 3         int temp = 0;
 4         int N = nums.length;
 5         for( int i=0; i<N-1; i++) {
 6             for( int j=0; j< N-i-1; j++) {
 7                 int num1 = nums[j];
 8                 int num2 = nums[j+1];
 9                 if( num1 < num2) {
10                     temp = nums[j];
11                     nums[j] = nums[j+1];
12                     nums[j+1] = temp;
13                 }              
14             }          
15         }
16         for( int i=0; i<nums.length; i++) {
17             System.out.print(nums[i]+" ");
18         }
19     }

冒泡排序方法解析:


将数组 : int[] nums = {1,2,88,7,1,20,30,18,92}; 的值按顺序排列

冒泡排序的原理是 : 将每一个值通过与其他值进行对比,然后按大到小或小到大排序

升序:

1,2,88,7,1,20,30,18,92

1.---------------------------------------------------

1、2、88、7、1、20、30、18、92

1、2、88、7、1、20、30、18、92

1、2、88、7、1、20、30、18、92

1、2、7、88、1、20、30、18、92

1、2、7、1、88、20、30、18、92

1、2、7、1、20、88、30、18、92

1、2、7、1、20、30、88、18、92

1、2、7、1、20、30、18、88、92

2.----------------------------------------------------

1、2、7、1、20、30、18、88、92

1、2、7、1、20、30、18、88、92

1、2、7、1、20、30、18、88、92

1、2、1、7、20、30、18、88、92

1、2、1、7、20、30、18、88、92

1、2、1、7、20、30、18、88、92

1、2、1、7、20、18、30、88、92

3.-------------------------------------------------

1、2、1、7、20、18、30、88、92

1、2、1、7、20、18、30、88、92

1、1、2、7、20、18、30、88、92

1、1、2、7、20、18、30、88、92

1、1、2、7、20、18、30、88、92

1、1、2、7、18、20、30、88、92

一次次比下去---

 冒泡排序口诀:外层 N-1内层N - i -1

 

posted @ 2015-01-13 20:50  江湖一笑  阅读(184)  评论(0编辑  收藏  举报