排序

简单选择排序是指对一个序列A种的元素A[1]-A[n],令i从1到n枚举,进行n次操作,每趟从待排序部分[i,n]中选择最小的元素,令其与待排序部分的第一个元素A[i]进行交换,这样元素A[i]就会与当前有序区间[1,i-1]形成心得有序区间[1,i]于是在n次排序后所有元素就会是有序的。

1.选择排序

int selectSort(int A[],int n){
    for(int i=0;i<=n;i++){
        for(int j=i;j<=n;j++){
            if(A[i]>A[j]){
                int tmp;
                tmp=A[i];
                A[i]=A[j];
                A[j]=tmp;
            }
        }
    }
    return 0;
}

 2.插入排序

对序列A的n个元素A[1]-A[n],令i从2到n枚举,进行n-1趟操作。假设某一趟,序列A的前n-1个元素A[1]-A[i-1]已经有序,而范围[i,n]还未有序,那么该趟从范围[1,i-1]中寻找某个位置j后(此时A[j]-A[i-1]会后移一位至A[j+1]-A[i]),使得将A[i]插入位置j后,范围[1,i]有序。

int A[maxn],n;
void insertSort(){
    for(int i=2;i<=n;i++){
        int tmp=A[i],j=i;
        while(j>1&&tmp<A[j-1]){
            A[j]=A[j-1];
            j--;
        }
        A[j]=tmp;
    }
}

3.排序函数

C语言的库函数qsort

C++的sort函数

原文地址:https://www.cnblogs.com/ak918xp/p/13408659.html