GESP-4级-25.排序问题及处理(课件).pptxVIP

  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文档。上传文档
查看更多

25.排序问题及处理;

本章内容

介绍C++排序函数sort的使用方法及应用。;

致柔经常拉着爸爸跟她一起玩《欢乐购物街》游戏。两个玩家从棋盘上的起始位置出发,每一轮,两个玩家各自投骰子,得到点数,然后走相应的步数,到达一个新的位置。每个位置上标注的可能是奖励5个金币、用3个金币购买一张购物卡、蔬菜店店员卖蔬菜得到5个金币、后退3步等等,到达终点后,可以把获得的金币兑换成购物卡。游戏结束后,谁的购物卡多,谁就获胜。

致柔每次玩游戏都要耍赖。比如,她走到“后退3步”的位置上,她都要反悔,重新投骰子,走到金币少的位置上,她也要重新投骰子,理由是“幼儿园的小朋友每次可以投2次骰子”。总之呀,游戏规则是她定义的。因此,每次游戏都是她赢。;

sort排序函数

在排序时,参与排序的元素称为记录,记录是进行排序的基本单位。所有待排序记录的集合称为序列。所谓排序就是将序列中的记录按照特定的顺序排列起来。每个记录中可能有多个域(相当于结构体中的成员,结构体详见第27章),排序码是记录中的一个或多个域,这些域的值作为排序运算中的依据。

sort函数是C++语言中的函数,包含在头文件algorithm中,如果使用万能头文件,则不需要再包含这个头文件。;

sort排序函数

sort函数的原型为:sort(start,end,cmp);

参数的含义如下:

①start表示整个序列存储空间的起始地址,在C++语言里,如果用数组a存储序列,则start参数的值就是数组名。

②end表示整个序列存储空间结束后下一个字节的地址,如果序列(设为数组a)中记录个数为n,则end参数的值就是a+n。注意,end不是序列最后一个记录的存储地址,而是最后一个记录结束后下一个字节的地址。

③cmp参数是一个函数,其作用是指定排序时对记录之间的大小关系进行比较的方法。如果参与排序的记录可以直接比较大小,比如基本数据类型(如int,double等),cmp不填则默认为从小到大排序,如果要实现从大到小排序,则cmp参数可以填greaterint()、greaterdouble()等。如果参与排序的记录是结构体类型,不能直接比较大小,则必须定义cmp函数,详见第27章。;

解题报告——谁在中间;

题目描述:

给定一个奇数N(1≤N≤10,000)以及N头奶牛的产奶量(1~1,000,000),找出居中的产奶量,使得一半奶牛的产奶量与之相等或更多,另一半奶牛的产奶量与之相等或更少。;

样例输入:

5

2

4

1

3

5;

{

intn,i,a[10001];

cinn;

for(i=0;in;i++)cina[i];

sort(a,a+n);//排序

couta[n/2]endl;

return0;

};

解题报告——前20%和后20%;

题目描述:

输入n个成绩,按从高到低排序,求前20%的成绩的平均分和后20%的成绩的平均分。注意,在取20%的成绩个数时要取整。;

样例输入:

10

71

88

82

100

73

85

83

89

80

86;

分析:

用数组a保存n个成绩,调用sort函数实现从大到小排序,注意sort函数需要使用cmp参数,调用方法为:sort(a,a+n,greaterint())。记n1=n*0.2,再求前n1个成绩的平均值和后n1个成绩的平均值。;;

解题报告——单词重组;

输入描述:

输入数据第一行为正整数n,2≤n≤100,表示字典中单词个数;接下来有n行,每行是一个单词,单词由小写字母组成,没有空格,长度不超过10。输入数据最后一行为单词w。;

样例输入:

8

tarp

given

score

refund

only

trap

work

earnpart;

分析:

对字典中的每个单词中的所有字母,按字母顺序从小到大排序;对输入的单词w,也对其中的字母按字母顺序从小到大排序。

然后在字典中查找单词w,如果找到,输出yes,否则输出no。;

您可能关注的文档

文档评论(0)

k12学习资料 + 关注
实名认证
文档贡献者

教师资格证持证人

k12学习资料

领域认证该用户于2023年06月02日上传了教师资格证

1亿VIP精品文档

相关文档