話不多說,請看代碼:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
//冒泡排序,從數組前面向后循環比較 public static void sort1( int [] aa){ int size=aa.length; int temp; //循環數組 for ( int i= 0 ;i<size;i++){ //aa[i]分別與i位后面的所有數比較并交換,aa[i]成為最小值 for ( int j=i+ 1 ;j<size;j++){ if (aa[i]>aa[j]){ temp=aa[i]; aa[i]=aa[j]; aa[j]=temp; } } } for ( int i= 0 ;i<aa.length;i++){ System.out.println(aa[i]); } } |
排序思路:第一層for循環,循環數組中的每個值,第二層for循環,用第一層for循環的aa[i]分別與從i+1位開始的其他數進行比較大小,如果比aa[i]小,那么交換aa[i]和aa[j]。通過第二層for循環,aa[i]將會是從i+1位開始的所有數中的最小值。以此類推,分別通過交換得到其余位數在比它大的位數的最小值。這樣便得到這個數組的從小到大的排序。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
//冒泡排序,從數組后面向前循環比較 public static void sort2( int [] aa){ int size=aa.length; int temp; //循環數組 for ( int i= 0 ;i<size;i++){ //aa[i]分別與i位后面的所有數比較并交換,aa[i]成為最小值 for ( int j=size- 1 ;j>i;j--){ if (aa[i]>aa[j]){ temp=aa[i]; aa[i]=aa[j]; aa[j]=temp; } } } for ( int i= 0 ;i<aa.length;i++){ System.out.println(aa[i]); } } |
以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持服務器之家!
原文鏈接:http://www.cnblogs.com/minshia/p/6297372.html