计算机程序设计基础——第四讲.pptVIP

  1. 1、本文档共81页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机程序设计基础——第四讲

* 执行(3)a[l]k,l=l+1=2,a[2]k,l=l+1=3,这时l=r,不会执行(4),同时退出直到型循环,见图13。然后做a[l]=k,即a[3]=4,见图14,左边也排好了。 1 2 3 4 0 1 2 3 图 14 1 2 3 1 0 1 2 3 l r 图 13 l r 4 k 4 k * 4、用上述思路去排右边的部分,见图15,让k=a[l]=a[5]=7,进入直到型循环; 执行(1)a[r]=6k,r不动 执行(2)a[l]=a[r]=6,l=l+1=5+1=6,见图16 图 16 7 6 5 6 l r 图 15 6 6 5 6 l r 7 k * 这时l=r,不再执行(3)(4),退出直到型循环后,做a[l]=k,见图17。 图 17 6 7 5 6 l r 7 k * 在有了递归调用函数之后,主程序很容易写,主程序中应包含 1、 定义整型变量:数组a[10],i; 2、 用循环结构输入待排序的数,将其放入a数组; 3、 调用sort函数,使用三个实际参数 a——将数组a当实参; 0——数组下标下界; 9——数组下标上界; 4、 输出排序结果 下面给出参考程序(分两页) * #include stdio.h //预编译命令 void sort(int array[ ],int ll,int rr) //被调用函数,数组array,ll,rr为形参 { //函数体开始 int l,r,i,k; //定义变量 if(llrr) //如果llrr,则做下列7件事: { //7件事开始 l=ll;r=rr;k=array[l]; //第1件事 do { //第2件事(开始) while((lr)(array[r]=k))r=r-1; //2.1,右边的元素=k,让r往中间移 if(lr) //2.2,右边的元素k,让 { array[l]=array[r]; //array[r]送给array[l], l=l+1; //同时让l往中间移 } while((lr)(array[l]=k))l=l+1; //2.3,左边的元素=k,让l往中间移 if (lr) array[r]=array[l]; //2.4,左边的元素k,让array[l] //送给array[r] } // while(l!=r); //第2件事(结束) array[l]=k; //第3件事,k已排到位 for(i=ll;i=rr;i=i+1) //第4件事,输出 { printf(a[%d]=%d;,i,array[i]);} // printf(\n); //第5件事,换行 sort(array,ll,l-1); //第6件事,排左边部分 sort(array,l+1,rr); //第7件事,排右边部分 } //7件事结束 } //函数体结束 * void main() //主函数开始 {

文档评论(0)

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

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

1亿VIP精品文档

相关文档