| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 413 人关注过本帖
标题:问题处在哪了?
只看楼主 加入收藏
20072815
Rank: 1
等 级:新手上路
帖 子:87
专家分:0
注 册:2007-12-1
收藏
 问题点数:0 回复次数:2 
问题处在哪了?
#include<stdio.h>
int N;

struct Sqlist{
   int Heap[100];
   };

void InitSqList(struct Sqlist H) {
   int i;
   scanf("%d",&N);
   for(i=1;i<=N;i++)
   scanf("%d",&H.Heap[i]);
 }

void HeapSort(struct Sqlist H) {
   int i,m;
   for(i=N/2;i>0;--i)
   HeapAdjust(H,i,N);
   for(i=N;i>1;--i) {
   m=H.Heap[1];
   H.Heap[1]=H.Heap[i];
   H.Heap[i]=m;
   HeapAdjust(H,1,i-1);
   }
}

HeapAjust(struct Sqlist H, int s, int m) {
   int c,j;
   c=H.Heap[s];
   for(j=2*s;j<=m;j*=2) {
   if(j<m&&H.Heap[j]<H.Heap[j+1]) ++j;
   if(c>=H.Heap[j]) break;
   H.Heap[s]=H.Heap[j];
   s=j;
   }
   H.Heap[s]=c;
 }


PrintSqList(struct Sqlist H)
{
int i;
for(i=1;i<N;i++)
printf("%d ",H.Heap[i]);
printf("%d\n",H.Heap[N]);
}


 main()
 {
    struct Sqlist H;
    InitSqList(H);
    HeapSort(H);
    PrintSqList(H);
  }
2008-10-20 17:30
liumang_D
Rank: 2
来 自:计算机
等 级:论坛游民
威 望:1
帖 子:89
专家分:50
注 册:2008-10-20
收藏
得分:0 
你定义的函数名为HeapAjust,而在函数HeapSort中调用HeapAdjust(H,i,N);
这属于书写错误!
2008-10-20 18:48
20072815
Rank: 1
等 级:新手上路
帖 子:87
专家分:0
注 册:2007-12-1
收藏
得分:0 
谢谢啊,都怪自己不小心
2008-10-20 22:20
快速回复:问题处在哪了?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.031464 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved