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