java根底知識-冒泡排序。本站提示廣大學習愛好者:(java根底知識-冒泡排序)文章只能為提供參考,不一定能成為您想要的結果。以下是java根底知識-冒泡排序正文
//冒泡排序,從數組後面向後循環比擬
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位開端的一切數中的最小值。以此類推,辨別經過交流失掉其他位數在比它大的位數的最小值。這樣便失掉這個數組的從小到大的排序。
//冒泡排序,從數組前面向前循環比擬
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]);
}
}