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]); } }