栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

zoj 2665 Heapsort

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

zoj 2665 Heapsort

#include<stdio.h>#include<stdlib.h>#include<string.h>int pos;int perm[50008];int num;int input[100];int *data[100];int list[100];void siftup(int leaf){    int t, root;    while(leaf != 0){root = (leaf -1 )/2;t = perm[leaf]; perm[leaf] = perm[root]; perm[root] = t;leaf = root;}}int MyComp(const int *a, const int *b){return input[*a] - input[*b];}int main(){    int i,t;    num = 0;    scanf("%d", &t);    while(!feof(stdin)){input[num] = t;list[num] = num;data[num] = malloc(sizeof(int) * t);num ++;scanf("%d", &t);}    qsort(list, num, sizeof(int), MyComp);    pos = 1;    perm[0] = 1;    for(i=0;i<num;i++){    while(pos<input[list[i]]){perm[pos] = perm[pos-1];perm[pos-1] = pos + 1;siftup(pos-1);pos ++;}memcpy(data[list[i]], perm, sizeof(int) * pos);}int *ptr;for(i=0;i<num;i++){ptr = data[i];printf("%d", ptr[0]);for(t=1;t<input[i];t++){printf(" %d", ptr[t]);}printf("n");}    return 0;}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/367756.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号