java-几种排序

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(",");
            }
        }
    }
}

猜你喜欢

转载自blog.csdn.net/qq_37751454/article/details/80772493