



版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、练习列表注: 理解级别 掌插级别 应用级别1名称描述级别 选择排序0GG 数组排序,企业招聘程序员笔试时经常考到,须熟练掌插 冒泡排序( )0GG 数组排序,企业招聘程序员笔试时经常考到,须熟练掌插 冒泡排序( )0GG 数组排序,企业招聘程序员笔试时经常考到,须熟练掌插 揑入排序( )0GG 数组排序,企业招聘程序员笔试时经常考到,须熟练掌插 揑入排序( )0GG 数组排序,企业招聘程序员笔试时经常考到,须熟练掌插 0GG 系统排序掌插 0GG 中排序的 6/ 方法 方法的递归调用理解递归调用的原理 目录练习 :选择排序3练习描述3参考代码4练习 :冒泡排序E4练习描述4参考代码5练习 :冒
2、泡排序E6练习描述6参考代码7运行结果7练习 :揑入排序 E8练习描述8参考代码9练习 :揑入排序 E10练习描述10参考代码10练习 :0GG 系统排序11练习描述11参考代码12运行结果12练习 :方法的递归调用12练习描述12参考代码132练习 :选择排序练习描述选择排序原理:将数组中每个元素与第一个元素比较,如果这个元素小于第一个元素,则交换这两个元素循环第 1 条规则,找出最小元素,放于第 1 个位置经过 n-1 轮比较完成排序简单而言,每轮都找到最小的放到前面。举例:8 , 2 , 3 , 7 , 1的排序过程如下所示:数组:第 1 轮:第 2 轮:第 3 轮:第 4 轮:第 5
3、轮:ary=8 , 2 , 3 , 7 , 1ary=1 | 8 , 3 , 7 , 2ary=1 , 2 | 8 , 7 , 3ary=1 , 2 , 3 | 8 , 7ary=1 , 2 , 3 , 7 | 8ary=1 , 2 , 3 , 7 | 8过程分析:代表第一个数据的位置代码后部每一个数据的位置备注:3aryijaryiaryjaryiaryji交换j第 1 轮8|2,3,7,10182true822|8,3,7,10223false-2|8,3,7,10327false-2|8,3,7,10421true211,8|3,7,2第 2 轮1,8|3,7,21283true831,
4、3|8,7,21337false-1,3|8,7,21432true321,2,8|7,3第 3 轮1,2,8|7,32387true871,2,7|8,32473true731,2,3,8|7第 4 轮1,2,3,8|73487true871,2,3,7|8第 5 轮1,2,3,7,8|4-8-i 的范围是:j 的范围是:0ary.length - 1i+1 ary.length交换步骤(aryi a ryj)的代码如下:if(aryiaryj)temp = aryi; aryi=aryj; aryj=temp;参考代码练习 :冒泡排序E 练习描述冒泡排序原理:比较相邻的元素,将小的放到前面
5、。4冒泡排序举例:8 , 2 , 3 , 7 , 1的排序过程如下所示:ary=8,2,3,7,1ary=2,8,3,7,1ary=2,3,8,7,1ary=2,3,7,8,1ary=2,3,7,1|8ary=2,3,7,1|8ary=2,3,7,1|8ary=2,3,1|7,8ary=2,3,1|7,8ary=2,1|3,7,8ary=1,2,3,7,8过程分析 O 代表次数P 代表比较位置备注:i 的取值范围是:j 的取值范围是:i = 0 j = 0 ary.length-1j+1)jj+1参考代码5aryijj+1aryjaryj+1aryjaryj+1j交换j+18,2,3,7,10
6、0182true822,8,3,7,101283true832,3,8,7,102387true872,3,7,8,103481true812,3,7,1|810123false-2,3,7,1|811237false-2,3,7,1|812371true712,3,1|7,820123false-2,3,1|7,821231true312,1|3,7,830121true211,2,3,7,8练习 :冒泡排序E 练习描述在程序开发过程中,常常使用输出语句观察程序执行步骤、结果及调试程序。6参考代码运行结果7练习 :排序E 练习描述排序原理:将数组分为两部分 将后部分的第一个逐一与前部分每一个
7、元素比较,在合理位置揑入揑入排序算法效率要高于选择排序和冒泡排序揑入排序举例: 8 , 2 , 3 , 7 , 1的排序过程如下所示:第 步,假设第一个元素是已排序的第 步,用 和 b 之前的所有元素比较,并揑入取出 (ZKSV# )ZKSV 和 比,比 小,将 的位置赋值为大数(GX_A C# )因为已到边界,直接赋值(GX_A C# ) 和 排序完成第 步,用 和 b 之前的所有元素比较,并揑入取出 (ZKSV# )ZKSV 和 比,比 小, 的位置赋值给大数(GX_A C# )ZKSV 和 比,比 大,揑入 后面 (GX_A C# ) 、 、 排序完成第 步,用 和 b 之前的所以元素比
8、较,并揑入取出 (ZKSV# )ZKSV 和 比,比 小, 的位置赋值给大数(GX_A C# )a b ca b ca b ca b ca b ca b ca b ca b ca b c8ZKSV 和 比,比 大,揑入 后面(GX_A C# ) 、 、 、 排序完成第 步,用 和 b 之前的所以元素比较,并揑入取出 (ZKSV# )ZKSV 和 比,比 小, 的位置赋值给大数 ZKSV 和 比,比 小, 的位置赋值给大数 ZKSV 和 比,比 小, 的位置赋值给大数 ZKSV 和 比,比 小, 的位置赋值给大数 到边界,赋值(GX_A C# ) 、 、 、 、 排序完成a b ca b ca
9、b c a b c a b ca b c a bc过程分析 ZKSV 代表取出待揑入的元素O 代表后组待揑入元素的位置P 代表前组每个元素的位置备注:O 的取值范围是:O#d GX_ RKTMZNP 的取值范围是:P# O d $# P 伪代码如下:ZKSV # AOC! OL ZKSVAPC aO P APC $AP CcKRYKaHXKGQ P!cZKSV $AP C! 移动 参考代码9aryitempjaryjtempj+1-8|8,3,7,112-1-2-j+12,8|3,7,12318true8-j+1-2,8|8,7,12302false-3-j+12,3,8|7,13728tru
10、e8-j+1-2,3,8|8,13713false-7-j+12,3,7,8|14138true8-j+1-2,3,7,8|84127true7-j+1-2,3,7,7|84113true3-j+1-2,3,3,7|84102true2-j+1-2,2,3,7|841-1-1-j+11,2,3,7,8|5-练习 :排序E 练习描述揑入排序的经典写法。参考代码10练习 :0GG 系统排序练习描述JDK 提供的排序方法 Arrays.sort(ary)的效率要比之前写的选择排序、冒泡排序等效率高。本案例比较Ja va 提供的排序方法和揑入排序的效率。很明显 Ja va 提供的排序方法效率高很多。注意:运行结果为 0 表示不到 1 毫秒内就完成了排序不要试图在控制台输出数组元素,控制台打印输出不全11参考代码运行结
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工业互联网背景下联邦学习隐私保护技术与数据隐私权保护法规实施情况评估报告
- 2025年环保产业园循环经济模式与生态环保产业绿色金融支持策略研究
- 老年旅游定制服务市场政策环境与行业规范研究报告
- 2025年矿山智能化开采无人作业技术市场现状与未来展望报告
- 工业互联网平台雾计算协同机制在智能工厂2025年生产设备智能调度中的应用报告
- 2023年行政部门工作总结范文十二篇
- 2023年监理工程师《建设工程监理案例分析(水利工程)》考试题库(重点50题)
- 2023年电机与拖动基础试题库及答案
- 2023私人装修协议21篇
- 二零二五年度国际货物买卖05合同范本及风险管理策略
- 庙宇转让合同协议
- 农商行银行现金管理
- 2025年建筑施工安全生产月培训
- 舟山油罐无损检测施工方案
- 胸外科围手术期呼吸功能锻炼的意义
- 《水闸技术管理规程SLT 75-2024》知识培训
- 《人体工程学》教学课件第四章 人体工程学与环境空间设计
- 1,000,000(一百万)以内质数表
- 口腔门诊入股合同范例
- 海尔售后培训课件
- 科研试剂销售培训
评论
0/150
提交评论