zoukankan      html  css  js  c++  java
  • 堆排序

    成绩 10 开启时间 2015年12月8日 星期二 10:00
    折扣 0.8 折扣时间 2015年12月24日 星期四 23:55
    允许迟交 关闭时间 2015年12月31日 星期四 23:55

    实验要求:用堆排序算法按关键字递减的顺序排序

    程序输入:待排序记录数(整数)和待排序记录(整数序列);

    程序输出:建堆结果和建堆后第一、第二次筛选结果。(注:待排序记录数大于等于3

     1 #include <stdio.h>
     2 #include <stdlib.h>
     3 
     4 #define xunhuan Heapsort();
     5          for(i=1;i<=number;i++) 
     6             printf("%d ",a[i]); 
     7        printf("
    "); 
     8        a[1]=a[number]; 
     9        number--;
    10 
    11 int a[100];
    12 int number;
    13 
    14 
    15 
    16 
    17 void adjust(int length, int t)
    18 {
    19     int i, j, up;
    20     i = length;
    21     j = 2 * i;
    22     up = a[i];
    23     while (j <= t)
    24     {
    25         if (j<t&&a[j]<a[j + 1])
    26             j++;
    27         if (up<a[j])
    28         {
    29             a[i] = a[j];
    30             i = j;
    31             j = 2 * i;
    32         }
    33         else
    34         {
    35             j = t + 1;
    36         }
    37     }
    38     a[i] = up;
    39 }
    40 void Heapsort()
    41 {
    42     int length;
    43     for (length = number / 2; length >= 1; length--)
    44         adjust(length, number);
    45 
    46 }
    47 int main()
    48 {
    49     int i, j, k, t;
    50     for (i = 0; i<100; i++)
    51         a[i] = 0;
    52     scanf("%d", &number);
    53     for (i = 1; i <= number; i++)
    54     {
    55         scanf("%d", &a[i]);
    56     }
    57     xunhuan;
    58     xunhuan;
    59     xunhuan;
    60     
    61 }
  • 相关阅读:
    【洛谷P3628】特别行动队
    【洛谷P3233】世界树
    【BZOJ1597】土地购买
    【洛谷P4068】数字配对
    【洛谷P3899】谈笑风生
    【BZOJ2726】任务安排
    【洛谷P6186】[NOI Online 提高组] 冒泡排序
    【洛谷P3369】【模板】普通平衡树
    【UOJ#8】Quine
    标准 插入flash
  • 原文地址:https://www.cnblogs.com/yixianyong/p/5091806.html
Copyright © 2011-2022 走看看