最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

王道計算機考研 數(shù)據(jù)結構

2023-08-20 14:51 作者:驚墨墨  | 我要投稿

//堆排序

#include <stdio.h>

void swap(int* a, int* b) {

??int temp = *a;

??*a = *b;

??*b = temp;

}

void HeadAdjust(int A[], int k, int len);



// 建立大根堆

void BuildMaxHeap(int A[], int len) {

??for (int i = len / 2; i > 0; i--) //從后往前調整所有非終端結點?

????HeadAdjust(A, i, len);

}

// 將以 k 為根的子樹調整為大根堆

void HeadAdjust(int A[], int k, int len) {

??A[0] = A[k];????????????//A[0]暫存子樹的根結點?

??for(int i = 2*k;i<=len;i*=2){?//沿key較大的子結點向下篩選?

????if(i < len && A[i] < A[i + 1])

??????i++;??????????//取key較大的子結點的下標?

????if(A[0] >= A[i]) break;??// 篩選結束

????else{

??????A[k] = A[i];??????//將A[i]調整到雙親結點上?

??????k = i;?????????//修改k值,以便繼續(xù)向下篩選?

????}

??}?????

??A[k] = A[0];??????????//被篩選結點的值放入最終位置?

}

// 建立大根堆


void HeapSort(int A[], int len) {

??BuildMaxHeap(A, len);????// 初始建堆

??for (int i = len; i > 1; i--) {??// n-1趟的交換和建堆過程

????swap(&A[i], &A[1]);??????// 堆頂元素和堆底元素交換

????HeadAdjust(A, 1, i - 1);?// 把剩余的待排序元素整理成堆

??}

}

int main() {

??int A[] = { 0, 53, 9, 87, 96, 32, 65, 78, 45 };

??int len = sizeof(A) / sizeof(A[0]) - 1;


??HeapSort(A, len);


??printf("Sorted array: ");

??for (int i = 1; i <= len; i++) {

????printf("%d ", A[i]);

??}

??printf("\n");


??return 0;

}


王道計算機考研 數(shù)據(jù)結構的評論 (共 條)

分享到微博請遵守國家法律
和政县| 大连市| 太湖县| 雅安市| 阜平县| 洪泽县| 墨江| 抚顺县| 屏南县| 浪卡子县| 当涂县| 达日县| 临沂市| 格尔木市| 岳阳市| 新竹市| 慈溪市| 屯门区| 宣汉县| 威海市| 阜城县| 哈巴河县| 新民市| 晋中市| 柳州市| 调兵山市| 遵义县| 剑川县| 成安县| 上思县| 收藏| 长兴县| 木里| 彩票| 麻栗坡县| 青田县| 龙泉市| 阿尔山市| 平果县| 九寨沟县| 安化县|