问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

请教c语言,quicksort 排序问题

发布网友 发布时间:2022-05-26 12:51

我来回答

2个回答

热心网友 时间:2023-10-17 22:22

以后 编程注意排版。。好的排版 看起来 舒服多了。。。就是楼上 说的 传递时 类型错误。
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <time.h>

typedef struct t_complexe{double real;double imag;}data;
typedef struct t{data c;double m;}complexe;

int partition(complexe tab[],int left,int right)
{
complexe pivot;
int i;
pivot=tab[right];
for(i=left;i<right;i++)
{
if(tab[i].m<=pivot.m)
{
complexe p;
p=tab[i];
tab[i]=tab[left];
tab[left]=p;
left++;
}
}
complexe h;
h=tab[left];
tab[left]=tab[right];
tab[right]=h;

return left;
}

int quicksort(complexe t[],int l,int r)
{
int ic;
if (l<r)
{
ic=partition(t,l,r);
quicksort(t,l,ic-1);
quicksort(t,ic+1,r);
}

return 0;
}

double mole (data z)
{
double c=(z.real*z.real)+(z.imag*z.imag);
double s=sqrt(c);

return s;
}

int main(void)
{
complexe tab[20];
int i;
srand(time(NULL));
for(i=0;i<20;i++)
tab[i].c.real=rand()/(RAND_MAX+1.0);
for(i=0;i<20;i++)
tab[i].c.imag=rand()/(RAND_MAX+1.0);
for(i=0;i<20;i++)
tab[i].m=mole(tab[i].c);
quicksort(tab,0,19);
for(i=0;i<20;i++)
printf("%lf\t%lf\t%lf\n",tab[i].c.real,tab[i].c.imag,tab[i].m);

return 0;
}

热心网友 时间:2023-10-17 22:22

要把tab这个complexe数组传入,那么函数的入口参数应该写为complexe[]而不是int[],然后在其他函数里要使用模计算的时候应该取tab[i].m追问是不是我没听太懂啊,我试了,照你说的该还是不行的啊,能详细点儿不,谢谢啦

追答顶一下 king121314 的答案,编译没问题,但是排序结果貌似不对,不过这应该是你自己处理的逻辑错误了。话说第二节课做这么复杂的程序不容易呀!

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
ef英语哪个好 EF英孚英语培训怎么样? 英孚英语好不好 EF英孚教育到底好不好 大佬们,麦芒7和荣耀10那个值得入手?2500以下的机子还有啥好推荐的么... 介绍几款2500元以前的手机 像素一定要高 其他的不做要求 近期想入手一部安卓手机,价格2200到2500左右…买HTC desire Z还是 三星... 笔记本忘记开机密码怎么办急死了 笔记本电脑屏幕开机锁忘记密码 怎么办?急死了 华硕笔记本电脑开机密码忘记了怎样找回?系统是Windows 7旗舰版... 胡椒啫啫鸡翅根的做法,胡椒啫啫鸡翅根怎么做 黑胡椒串烤鸡翅的家常做法 黑椒烤鸡翅的制作方法是什么? 黑胡椒鸡翅根的做法,黑胡椒鸡翅根怎么做好吃 漫威超级英雄电影的正确观影顺序应该是什么? 中国神话传说vs漫威英雄 上次在潮州一家叫厚记小食的腐乳饼和绿豆饼很好吃,求地址、电话!! 腐乳饼哪个牌子好吃 写一篇作文:小动物。要求三百字,语句通顺,优美词句多. . . . . . 作文草稿我喜爱的小动物三百字左右 关于小动物的作文三百字人 cf战队密码,问题答案都忘了。怎么解散啊! 穿越火线中怎样退战队啊,但自己是队长 什么情况下人特别容易被静电电 我是穿越火线战队队长,想解散战队忘记密码怎么解散啊? 三十多岁,不想打工,有什么好的创业前景吗? 雪碧,可乐能够清理肚子里的油吗 腊八节吃腊味饭,喝什么饮品解腻? 钢管舞和瑜伽那个更减肥// 问大家一下,吃火锅解腻喝百事可乐是好的选择么? java用quicksort对一个储存10个数字的数组进行排序 急急急急啊 quicksort 快速排序问题 为什么Python写Quicksort只有前半部分排序正确后半部分是乱的? 写一个程序,十个数字的数组排序,要用快速排序quicksort的方法,不要复制粘贴 作文《寻觅友情》600初二 谁有好的关于军人的视频? 写一个程序,十个数字的数组排序,要用快速排序quicksort的方法,不要复制粘贴 军人鬼步舞下载 视频下载 《我是特种兵》的视频怎样下载到手机上? 请问哪里可以下载09年的当代军人核心价值观引领我成长的视频啊?或者谁有的话可不可以传给我啊?谢谢啦 1.求09年中国阅兵的视频下载地址,凤凰卫视和*电视台的都要,必须不低于1080P。2.俄罗斯2 如果我想看一些关于军人,特警,特种部队的纪录片,用哪个播放器好? 用什么网站看好? 忠诚卫士组歌与军人道德组歌(视频)在那里下载知道的说下 教我下载士兵突击视频 嫉妒心强怎么改 哪里可以下载士兵考军校免费辅导视频? 唐山金港国际在哪 秦皇岛火车站火车站到唐山金港国际静园怎么走 五十六个民族班队课 唐山最好的教育机构在哪/唐山学大教育?