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 }
  • 相关阅读:
    面向对象与组合
    异常处理和三级菜单练习
    装饰器和生成器
    序列化模块
    leetcode_498. 对角线遍历
    leetcode_566. 重塑矩阵
    leetcode_59. 螺旋矩阵 II
    leetcode_54. 螺旋矩阵
    leetcode_396. 旋转函数
    leetcode_200. 岛屿数量
  • 原文地址:https://www.cnblogs.com/yixianyong/p/5091806.html
Copyright © 2011-2022 走看看