91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

基礎排序之堆排序(C語言小堆版)

發布時間:2020-07-13 23:28:32 來源:網絡 閱讀:456 作者:313119992 欄目:編程語言

堆排序

#include<stdio.h>
typedef int ElementType;
int arr1[11]={0,2,87,39,49,34,62,53,6,44,98};

void Swap(int* a,int* b)
{
    int temp=*a;
    *a=*b;
    *b=temp;
}

void PercDown(int  A[], int i, int N)
{
    int child;
    ElementType Tmp;

    for (Tmp = A[i]; 2*i+1 < N; i = child){
        child = 2*i+1; //注意數組下標是從0開始的,所以左孩子的求發不是2*i
        if (child != N - 1 && A[child + 1] > A[child])
            ++child;                //找到最大的兒子節點
        if (Tmp < A[child])
            A[i] = A[child];
        else
            break;
    }
    A[i] = Tmp;
}

void HeapSort(int A[], int N)
{
    int i;
    for (i = N / 2; i >= 0; --i)
        PercDown(A, i, N);    //構造堆
    for(i=N-1;i>0;--i)
    {
        Swap(&A[0],&A[i]);        //將最大元素(根)與數組末尾元素交換,從而刪除最大元素,重新構造堆
        PercDown(A, 0, i);
    }
}

void Print(int A[],int N)
{
    int i;
    for(i=0;i<N;i++)
    {
        printf(" %d ",A[i]);
    }
}
int main()
{
    int arr[10]={2,87,39,49,34,62,53,6,44,98};
    Print(arr,10);
    printf("\n");
    HeapSort(arr,10);
    Print(arr,10);
    printf("\n");
    return 0;
}
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

庆阳市| 信宜市| 溆浦县| 宿州市| 天门市| 汝州市| 庄河市| 三门县| 崇文区| 会同县| 微博| 新郑市| 视频| 琼海市| 福贡县| 金湖县| 滨州市| 兴海县| 左权县| 得荣县| 柯坪县| 城市| 抚远县| 唐河县| 鲁山县| 察雅县| 瓮安县| 宁强县| 简阳市| 九江市| 南乐县| 铜陵市| 扬州市| 石河子市| 昌吉市| 华阴市| 淮阳县| 徐州市| 谢通门县| 罗平县| 正蓝旗|