排字典顺序排序.doc

排字典顺序排序.doc

ID:58509432

大小:12.50 KB

页数:2页

时间:2020-09-03

排字典顺序排序.doc_第1页
排字典顺序排序.doc_第2页
资源描述:

《排字典顺序排序.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、输入下述8个国家名字的字符串:CHINA、JAPAN、KOREA、INDIA、CANADA、AMERICAN、ENGLAND和FRANCE,将这些国名按字典顺序排序。#include#includevoidmain(){charstr[8][9]={"CHINA","JAPAN","KOREA","INDIA","CANADA","AMERICAN","ENGLAND","FRANCE"};chartemp[9];inti,l;for(i=0;i<8;i++){for(l=0;l<9;

2、l++){printf("%c",str[i][l]);}printf("");}//排序printf("以上8个国家按字典中排序如下所示:");intj,k;for(j=0;j<8;j++)for(k=j+1;k<8;k++){if(strcmp(str[j],str[k])>0){//交换strcpy(temp,str[j]);strcpy(str[j],str[k]);strcpy(str[k],temp);}}for(i=0;i<8;i++)//输出printf("%s",str[i]);} 1.字典序

3、法  字典序法中,对于数字1、2、3......n的排列,不同排列的先后关系是从左到右逐个比较对应的数字的先后来决定的。例如对于5个数字的排列12354和12345,排列12345在前,排列12354在后。按照这样的规定,5个数字的所有的排列中最前面的是12345,最后面的是54321。  字典序算法如下:  设P是1~n的一个全排列:p=p1p2......pn=p1p2......pj-1pjpj+1......pk-1pkpk+1......pn  1)从排列的右端开始,找出第一个比右边数字小的数字的序号j(j从左端

4、开始计算),即j=max{i

5、pi

6、pi>pj}(右边的数从右至左是递增的,因此k是所有大于pj的数字中序号最大者)  3)对换pi,pk  4)再将pj+1......pk-1pkpk+1pn倒转得到排列p’’=p1p2.....pj-1pjpn.....pk+1pkpk-1.....pj+1,这就是排列p的下一个下一个排列。  例如是数字1~9的一个排列。从它生成下一个排列的步骤如下:  自右至左找出排列中第一个比右边数字小

7、的数字4  在该数字后的数字中找出比4大的数中最小的一个5  将5与4交换  将7421倒转  所以的下一个排列是。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。