国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C > 正文

C語言實現堆排序的簡單實例

2020-01-26 15:30:20
字體:
來源:轉載
供稿:網友

本文通過一個C語言實現堆排序的簡單實例,幫助大家拋開復雜的概念,更好的理解堆排序。
實例代碼如下:

void FindMaxInHeap(int arr[], const int size) {     for (int j = size - 1; j > 0; --j) {       int parent = j / 2;       int child = j;       if (j < size - 1 && arr[j] < arr[j+1]) {         ++child;       }       if (arr[child] > arr[parent]) {         int tmp = arr[child];         arr[child] = arr[parent];         arr[parent] = tmp;       }     }   }   void HeapSort(int arr[], const int size) {     for (int j = size; j > 0; --j) {       FindMaxInHeap(arr, j);       int tmp = arr[0];       arr[0] = arr[j - 1];       arr[j - 1] = tmp;     }   }    int main() {   int arr[] = {2, 5, 3, 12, 6, 21, 8, 1};     int n = sizeof(arr) / sizeof(arr[0]);     HeapSort(arr, n);     for (int j = 0; j < n; ++j) {       printf("%3d",arr[j]);     }     printf("/n");   return 0; }
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 阳泉市| 万源市| 晋宁县| 苍南县| 连城县| 米林县| 平度市| 江阴市| 彩票| 华坪县| 汉中市| 开鲁县| 南雄市| 蓝山县| 平武县| 大冶市| 新昌县| 布尔津县| 武宁县| 呼伦贝尔市| 阿合奇县| 察哈| 平邑县| 英吉沙县| 湘乡市| 翁源县| 郁南县| 云和县| 新晃| 台北县| 宁武县| 满城县| 聂拉木县| 大新县| 苏尼特左旗| 普格县| 鹿泉市| 青田县| 金寨县| 鲁山县| 招远市|