package base; /** * Created by XHGA on 2018/5/9. */ public class Sort { /** 冒泡排序:將最大值放在後面(從後向前排序) 插入排序:將數值插入到前面已經排好的數組(從前向後排序,仍有改動) 選擇排序:將最小值放在該位置(從前向後排序) */ public static void main(String[] args) { int[] in = {50,32,64,89,15,0,36,46}; chooseArray(in); } /** * 冒泡排序 * 相鄰的比較,最大值放後面 * @param in */ public static void efferArray(int[] in ) { int tem = 0; for (int i = 0; i < in.length; i++) { for (int j = 0; j < in.length - 1 - i; j++) { if (in[j] > in[j+1]) { tem = in[j+1]; in[j+1] = in[j]; in[j] = tem; } } } for (int i = 0; i < in .length; i++) { System.out.print( in [i]); if (i < in .length - 1) { System.out.print(","); } } } /** * 插入排序 * 每次循環將指定位置的數值,插入到前面已經排號順序的數組當中 * @param in */ public static void insertArray(int[] in ) { int tem; for (int i = 0; i < in.length; i++) { int j = i - 1; tem = in[i]; while (j>=0 && in[j] > tem) { in[j+1] = in[j]; j--; } in[j+1] = tem; } for (int i = 0; i < in .length; i++) { System.out.print( in [i]); if (i < in .length - 1) { System.out.print(","); } } } /** * 選擇排序 * 每次循環將最小值放在此位置 * @param in */ public static void chooseArray(int[] in ) { int tem; for (int i = 0; i < in.length-1; i++) { for (int j = i + 1; j < in.length ; j++) { tem = in[i]; if (tem > in[j]) { in[i] = in[j]; in[j] = tem; } } } for (int i = 0; i < in .length; i++) { System.out.print( in [i]); if (i < in .length - 1) { System.out.print(","); } } } }
java-幾種排序
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.