冒泡排序
冒泡排序
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