- 0
- 0
- 约2.17千字
- 约 29页
- 2026-03-10 发布于广西
- 举报
第18课;学习目标;知识讲授;桶排序;桶排序过程演示;桶排序应用;桶排序去重过程演示;课堂练习;【描述】有n个正整数,数字范围在1~10000之间,请你将这n个数字从小到大输出。n=100000000。
【输入】输入共2行,第1行是n。第2行是n个整数.
【输出】1行。所有整数从低到高排序后的结果。
;参考代码;【描述】现在有n个整数,范围在-1000~1000,请你设计程序,将这些数据排序后从大到小输出。请使用桶排序。n=100000000。
【输入】输入共2行,第1行是n。第2行是n个整数.
【输出】1行。所有整数从高到低排序后的结果。
;参考代码;【描述】小明所在的学校近期统计了师生的年龄数据,教务处主任希望你帮忙把这些年龄按从小到大的顺序排序,重复的年龄只保留一个。作为编程小高手的你能帮他解决这个问题吗?
【输入】输入共2行,第1行是n。第2行是n个整数.
【输出】1行。所有整数去重后从低到高排序后的结果。;参考代码;【描述】北京市中小学刚刚结束期中测试,信息学老师想统计全市学生信息学成绩的得分情况,即某些分数的人数,以便改进教学内容和方法,提高同学们的信息学成绩,同学们写个程序,帮助老师实现吧。
【输入】输入共3行,第1行是n和k。第2行是n个整数,第3行是k个得分;
【输出】1行k个整数,分别为k个得分的人数;;参考代码;排序选做题选讲;【描述】一个n个元素的整数数组,如果数组两个连续元素之间差的绝对值包括了[1,n-1]之间的所有整数,则称之符合“欢乐的跳”。如数组1423符合“欢乐的跳”,因为差的绝对值分别为:3,2,1。
给定一个数组,你的任务是判断该数组是否符合“欢乐的跳”。
【输入】每组测试数据第一行以一个整n(1≤n≤1000)开始,接下来n个空格隔开的在[-10^8,10^8]之间的整数。;【样例解释】
1423一共四个数字,先计算相邻元素差的绝对值
|1-4|=3;|4-2|=2;|2-3|=1;
n个元素,n-1个绝对差值。n=4,n-1=3,正好是123三种数字每个都有。所以是Jolly。
1、如何计算差值的绝对值
n-1个差值,从第1个元素遍历到第n-1个元素。用另外一个新数组存储每个差值即可。可以调用cmath库的绝对值??数intabs(intn),也可以自己写if-else语句求绝对值。
for(inti=1;i=n-1;i++)b[i]=abs(a[i]-a[i+1]);//空间开够;2、如何判断1到n-1之间正好每个数字只有一个?
对于乱序的序列,排序后就是唯一的。比如以下两个序列:
124369875和879645231排序后都是
123456789,1~9每个数字正好一个。因此这两个序列其实都是合适的。
为什么不用桶排?——因为数字不多,但数值太大,桶子用的内存太多啦!
sort(b+1,b+1+n-1);//比赛是允许直接sort的,项目较大,现在起可以不自虐啦!
3、怎么判断序列属于Jolly?
排序后,必须有b[1]==1,b[2]==2,....,b[n-1]==n-1;任意一个关系不满足则不合法;
注意逻辑,参照质数判断的逻辑。;参考代码;【描述】设有n个正整数a1,a2,a3,...,an,将它们联接成一排,相邻数字首尾相接,组成一个最大的整数。
【输入】第一行有一个整数,表示数字个数n。第二行有n个整数,表示给出的n个整数ai。
【输出】一个正整数,表示最大的整数.注意结果可能会很长,比如一个100位的数。;猜测:
1、两个数字如果看成字符串那么:
a、长度长的大
b、两个一样长的数,字典序大的大(高位数越大,数字越大)
2、20个以内的数字拼数,首先拼接后的数字数位是一定的,那么拼接后要求字典序最大。那么我们把字典序大的数字放前面。
3、如果出现这样的现象怎么办:32和321应该怎么拼接?
如果一样长,明显把字典序大的放前面好,但32和321相比321字典序更大,但是32放前面拼成32321比32121大。所以我们换一个思路:用插入排序的思想来模拟拼数过程。;举例:
321232113四个数字拼数,插入三次:
1、32
2、3212——因为3212和1232相比,3212更大
3、3232112——从后往前插入,32112比12321大,放在12前。32321比32121大,无法放更前。只能插入到此。
4、32321
您可能关注的文档
- C++编程《第001课 初识C++》教学设计.docx
- C++编程《第001课 初识C++》教学课件.pptx
- C++编程《第002课 变量和数据类型(1)》教学课件.pptx
- C++编程《第002课 变量和数据类型(1)》教学设计.docx
- C++编程《第003课 变量和数据类型(2)》教学设计.docx
- C++编程《第003课 变量和数据类型(2)》教学课件.pptx
- C++编程《第004课 选择与分支(1)》教学课件.pptx
- C++编程《第004课 选择与分支(1)》教学设计.docx
- C++编程《第005课 选择与分支(2)》教学课件.pptx
- C++编程《第005课 选择与分支(2)》教学设计.docx
- 统编版2025年春季新版七年级下册历史 第21课 明清时期的科技与文化 教案.docx
- 雅安雨城法院书记员招聘考试真题库2025.docx
- 2026届安徽合肥市高考一模高考语文试卷试题(含答案详解).pdf
- 【专题研究】国内外城市更新研究的最新进展.pdf
- 【专题研究】老旧城区改造居民满意度影响因素研究——以遂宁市老旧城区改造为例.pdf
- 【专题研究】关于旧城空间改造理论与创意设计案例的几点思考.pdf
- 西藏拉萨市高三下学期期末物理备考重点详解.docx
- 泾县法院书记员招聘笔试真题2025.pdf
- 2026年春【苏教版】-六年级数学下册-面积的变化.pptx
- 2026年春【苏教版】-六年级数学下册-7.pptx
原创力文档

文档评论(0)