快速排序算法c语言实验报告.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
快速排序算法c语言实验报告   实验六:冒泡法排序   物理学416班赵增月F12XX日期:XX年10月31日   一·实验目的1.熟练掌握程序编写步骤;   2.学习使用冒泡法和选择法排序;   3.熟练掌握数组的定义和输入输出方法。   二·实验器材   1.电子计算机;   三·实验内容与流程   1.流程图   冒泡法   (2)选择法2.输入程序如下:冒泡法#includevoidmain(){inta[10];inti,j,t;printf(请输入10个数字:\n);for(i=0;ia[i+1]){t=a[i];a[i]=a[i+1];a[i+1]=t;}printf(排序后如下:\n);for(i=0;ivoidmain(){inta[10];inti,j,t,k;printf(请输入10个数字:\n);for(i=0;ia[j])k=j;t=a[i];a[i]=a[k];a[k]=t;}   printf(排序后如下:\n);for(i=0;i   #include   #include   #include   #definerandx(x)(rand()%x)   typedefintKeyType;   typedefintDataType;   typedefstruct   {   KeyTypekey;/*排序码字段*/   DataTypeinfo;/*记录的其它字段*/   }RecordNode;   typedefstruct   {   intn;/*文件中的记录个数,可以视为常量*/   RecordNode*record;   }SortObject;   voidcreatsort(SortObject*pvector,intl,intr)//新建二叉排序树   {   inti;intk;   printf(您即将要创建一个序列\n);   printf(\n请输入该序列元素的个数\n);   scanf(%d,pvector-n);   pvector-record=(RecordNode*)malloc((sizeof(RecordNode))*(pvector-n));   printf(\n你要以什么方式创建序列?\n方式1:自动创建请输入1,方式2:手动创建请输入0\n);   scanf(%d,k);   if(k)   {   srand((int)time(0));   for(i=0;in;i++)   {   if(pvector-nrecord[i].key=randx(100);   elseif((pvector-nrecord[i].key=randx(1000);   else   pvector-record[i].key=randx(pvector-n);   }   }   else   {   printf(\n请输入%d个大小不一样的整数\n,pvector-n);   for(i=0;in;i++){scanf(%d,pvector-record[i].key);}}if(pvector)printf(\n序列创建成功!\n);else   printf(\n序列创建失败!\n);   l=0,r=pvector-n-1;   }   voidshow(SortObject*pvector)   {   printf(\n当前序列为:\n);   if(!pvector)   printf(当前序列为空);   else   for(inti=1;in;i++)   {   printf(%d,pvector-record[i-1].key);   if(i%15==0)   printf(\n);   }   printf(\n);   }   voidquickSort(SortObject*pvector,intl,intr)   {   inti,j;   RecordNodetemp,*data=pvector-record;   if(l=r)   return;/*只有一个记录或无记录,则无须排序*/i=l;   j=r;   temp=data[i];   while(i!=j)   {/*找Rl的最终位置*/   while(i=)   j--;/*向左扫描找排序码小于的记录*/if(i ,i-1);/*递归处理左区间*/   quickSort(pvector,i+1,r);/*递归处理右区间*/   }   voidinterface(void)   {   printf(\n输入序号执行相应操作\n);printf(输入1,重新建立序列!\n);printf(--------------------------

文档评论(0)

mmrs369 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档