数据结构(九):排序算法

//冒泡排序
void Bubble_Sort(ElementType A[], int N)
{
    for(P = N - 1; P >= 0; P--)
    {
        flag = 0;
        for(i = 0; i < P; i++)  //一趟冒泡
        {
            if(A[i] > A[i + 1])
            {
                Swap(A[i], A[i + 1]);
                flag = 1;  //标识发生了交换
            }
        }
        if(flag == 0)  //全程无交换
            break;
    }
}
//插入排序
void Insert_Sort(ElementType A[], int N)
{
    for(P = 1; P < N; P++)
    {
        Tmp = A[P];   //摸一张牌
        for(i = P; i > 0 && A[i] > Tmp; i--)
            A[i - 1] = A[i];  //移出空位
        A[i] = Tmp;  //新牌落位
    }
}

希尔排序

堆排序

归并排序

快速排序、 快速排序

基数排序

猜你喜欢

转载自blog.csdn.net/qq_30207251/article/details/80647878