- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第五章基础题目选解
三、对double类型数组排序(特别要注意) double in[100]; int cmp( const void *a , const void *b ){return *(double *)a *(double *)b ? 1 : -1;} qsort(in,100,sizeof(in[0]),cmp); 四、对结构体一级排序 struct In{ double data; int other;}s[100] //按照data的值从小到大将结构体排序,关于结构体内的排序关键数据data的类型可以很多种,参考上面的例子写 int cmp( const void *a ,const void *b){return (*(In *)a)-data (*(In *)b)-data ? 1 : -1;} qsort(s,100,sizeof(s[0]),cmp); 五、对结构体二级排序 struct In{ int x; int y;}s[100]; //按照x从小到大排序,当x相等时按照y从大到小排序 int cmp( const void *a , const void *b ){struct In *c = (In *)a;struct In *d = (In *)b;if(c-x != d-x) return c-x - d-x;else return d-y - c-y;} qsort(s,100,sizeof(s[0]),cmp); 六、对字符串进行排序 struct In{ int data; char str[100];}s[100]; //按照结构体中字符串str的字典顺序排序 int cmp ( const void *a , const void *b ){return strcmp( (*(In *)a)-str , (*(In *)b)-str );} qsort(s,100,sizeof(s[0]),cmp); qsort 头文件为 #include stdlib.h sort 头文件为?#include algorithm sort 调用格式 sort(a,a+n,cmp); sort 更好用 检索 常用的就是遍历和二分检索 二分检索 二分查找法,它充分利用了元素间的次序关系,采用分治策略,可在最坏的情况下用O(log n)完成搜索任务。它的基本思想是,将n个元素分成个数大致相同的两半,取a[n/2]与欲查找的x作比较,如果x=a[n/2]则找到x,算法终止。如果xa[n/2],则我们只要在数组a的左半部继续搜索x(这里假设数组元素呈升序排列)。如果xa[n/2],则我们只要在数组a的右半部继续搜索x。 5.4 数学基础 明天有队友讲这一节 5.5 在线评测 BOJ POJ 第五章 基础题目选解 09计算机 黎明明 学习目标: 1、学会用常量表简化代码 2、学会用状态变量辅助字符串读入 3、学会用结构体定义高精度整数,并设计构造函数、复制构造函数和输入输出办法。 4、学会为结构体定义“小于”运算符,并用它定义其他比较运算符 5、掌握冒泡排序和顺序检索 6、熟练掌握用qsort库函数给整数和字符串排序的方法。 7、熟练掌握小规模素数表的构造方法 8、熟练掌握素因子分解的办法。 9、熟练掌握三角形有向面积的意义和计算办法 10、完成一定数目的习题。 学习目标: 在算法比赛中,编程能力非常重要。算法设计得再好,如果不能在很短的时间里面实现出来也是白搭。这一章就是通过一些习题,让大家对一些小的编程技巧有所了解。为后面一些复杂的算法打基础。 5.1 字符串 纯字符串的容易题大多数都是一看就知道怎么做,虽然思路简单但是实现却比较繁琐,如果不用一些小技巧来简化,那么代码量就会很大,而且很容易出小错误。 习题1: 输入一个错位后敲出的字符串,输出打字员本来想打出的句子。 如何做到题目要求的输入一个字符串? 主要输入库函数: 一次输入一个字符: scanf(格式化字符串,地址表); getchar() getch 一次输入一个字符数组: scanf(格式化字符串,地址表); gets() C++ cin 1、更广义的常量 2、转义 3、多种解法,代码长度不一样 4
您可能关注的文档
- 第五节地球上的水循环与水量平衡.ppt
- 第五节不完全信息一、信息的不完全性完全竞争模型的一.ppt
- 第五节房屋部件.doc
- 第五讲评估优化效果传递开放获取.ppt
- 第五节萜类化合物的检识与结构测定.ppt
- 第五节食用菌风味食品加工的原理和方法.ppt
- 第五节细胞分子生物学研究方法.ppt
- 第五节离散动态系统模型.doc
- 第五节细胞膜受体.ppt
- 第五节医疗质量.doc
- 新解读《GB_T 28923.5-2012自然灾害遥感专题图产品制作要求 第5部分:救助与恢复重建评估专题图产品》.pptx
- 新解读《GB_T 28926-2012信息技术 射频识别 2.45GHz空中接口符合性测试方法》.pptx
- 新解读《GB_T 29332-2012半导体器件 分立器件 第9部分:绝缘栅双极晶体管(IGBT)》.pptx
- 新解读《GB_T 29459.1-2012在役承压设备金属材料小冲杆试验方法 第1部分:总则》.pptx
- 新解读《GB_T 28878.1-2012空间科学实验转动部件规范 第1部分:设计总则》.pptx
- 新解读《GB_T 3883.20-2012手持式电动工具的安全 第2部分:捆扎机的专用要求》.pptx
- 新解读《GB_T 28768-2012车用汽油烃类组成和含氧化合物的测定 多维气相色谱法》.pptx
- 新解读《GB_T 4324.7-2012钨化学分析方法 第7部分:钴量的测定 电感耦合等离子体原子发射光谱法》.pptx
- 新解读《FZ_T 10013.2-2011温度与回潮率对棉及化纤纯纺、混纺制品断裂强力的修正方法 本色布断裂强力的修正方法》最新解读.pptx
- 新解读《FZ_T 50010.13-2011粘胶纤维用浆粕 反应性能的测定》最新解读.pptx
文档评论(0)