(c语言)利用堆排序算法:实现数组下标为1到n的数的由小到大的输出。求各种帮助

只想要堆排序的程序

第1个回答  2012-06-24
#include<stdio.h>
void main()
{
int a[100];
int i,j,m;
int temp;
printf("请问想输入多少个数字:\n%d");
scanf("%d",&m);
printf("\n");
for(i=0;i<m;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<m;i++)
for(j=i+1;j<m;j++)
if(a[i]>a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
for(i=0;i<m;i++)
printf("%d\n",a[i]);
}本回答被网友采纳
第2个回答  2012-06-24
#define N 100 //N的大小可以根据需要修改
void main()
{ int str[N];
int i,j,t;
for(i=0;i<N;i++)
scanf("%d",&str[i]);
for(i=0;i<N;i++)
for(j=i+1;j<N;j++)
if(str[j]<str[i])
{
t=str[i];
str[i]=str[j];
str[j]=t;
}

for(i=0;i<N;i++)
{
printf("%d\n",str[i]);
}

}追问

想要堆排序的

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网