排序算法

所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。排序算法,就是如何使得记录按照要求排列的方法。排序算法在很多领域得到相当地重视,尤其是在大量数据的处理方面。一个优秀的算法可以节省大量的资源。在各个领域中考虑到数据的各种限制和规范,要得到一个符合实际的优秀算法,得经过大量的推理和分析。

1.选择排序

public static int[] orderBySelect(int[] arrs){
    for (int i=0;i< arrs.length;i++){
        int temp = arrs[i];
        int flag = i;
        for (int j=i+1;j<arrs.length;j++){
            if (temp > arrs[j]) {
                temp = arrs[j];
                flag = j;
            }
        }
        if (flag != i){
            arrs[flag] = arrs[i];
            arrs[i] = temp;
        }
    }
    return arrs;
}

public static void main(String[] args) {
    int[] arrs = {2, 10, 3, 65, 13, 14, 546, 548, 31, 12, 6};
    orderBySelect(arrs);
    System.out.print("选择排序(SelectSort)结果:");
    for (int i : arrs) {
        System.out.print(i + " ");
    }
}

2.冒泡排序

public static int[] bulleSort(int[] arrs){
    for (int i=0;i< arrs.length;i++){
        for (int j=0;j< arrs.length-i-1;j++){
            if (arrs[j] > arrs[j+1]){
                int temp = arrs[j];
                arrs[j] = arrs[j+1];
                arrs[j+1] = temp;
            }
        }
    }
    return arrs;
}

public static void main(String[] args){
    int[] arrs = {2,10,3,65,13,14,546,548,31,12,6};
    bulleSort(arrs);
    System.out.print("冒泡排序(BulleSort)结果:"+ Arrays.toString(arrs));
}

3.插入排序

public static int[] orderByInsert(int[] arrs){
    for (int i=1;i< arrs.length;i++){
        int temp = arrs[i];
        int j = i-1;;
        if (temp<arrs[j]){
            while (j>0 && arrs[j]>temp){
                arrs[j+1] = arrs[j];
                j--;
            }
            arrs[j+1] = temp;
        }
    }
    return arrs;
}

public static void main(String[] args) {
    int[] arrs = {2, 10, 3, 65, 13, 14, 546, 548, 31, 12, 6};
    orderByInsert(arrs);
    System.out.print("插入排序(InsertSort)结果:");
    for (int i : arrs) {
        System.out.print(i + " ");
    }
}

4.快速排序


博客链接:https://qiuxx404.github.io/2018/06/13/原创/算法/排序算法

posted @ 2018-06-14 23:40  qiuxx404  阅读(86)  评论(0编辑  收藏  举报