简单的排序算法

1.选择排序

 void selectSort(int n[]){
        for (int i = 1 ; i <= n.length ; i++){//进行n趟操作
            int k = i;
            for (int j = i ; j <=n.length; j++){//选出[i,n]中最小的元素,下表是k
                if (n[j] < n[k]){
                    k = j;
                }
            }
            int temp = n[i]; //交换
            n[i] = n[k];
            n[k] = temp;
        }

时间复杂度是O(n^2)

2.插入排序

static void insertSort(int list[]){
        int j;
        for (int i = 1 ; i < list.length ; i++){//从第二个元素开始排序
            int temp = list[i];//从i开始枚举
            j = i;//用j来存放以有序的下标。
            while (j>0&&temp<list[j -1]){
                list[j] = list[j-1];
                j--;
            }
            list[j] = temp;
        }
    }

时间复杂多也是O(n^2)

原文地址:https://www.cnblogs.com/xiaolan-/p/11804835.html