书签 分享 收藏 举报 版权申诉 / 30
上传文档赚钱

类型常见三种排序方法-课件.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:4652958
  • 上传时间:2022-12-29
  • 格式:PPT
  • 页数:30
  • 大小:1.18MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《常见三种排序方法-课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    常见 排序 方法 课件
    资源描述:

    1、第17、26套的填空题 从从1到到n 选出关键值最(大)小的记录选出关键值最(大)小的记录,交换到第一个位置上,然后从,交换到第一个位置上,然后从2到到n选选 出键值最(大)小的记录,交换到第出键值最(大)小的记录,交换到第 二个位置上,二个位置上,.54 71 58 29 3154 71 58 29 3154 71 58 29 3154 71 58 29 31i=0初态初态k=0数组下标数组下标 0 1 2 3 4j=1k=0j=2k=0j=3k=3j=4k!=i,交换交换第一趟第一趟互换互换i=0判断判断ajak?用选择法对数组用选择法对数组 int a5=54,71,58,29,31 进

    2、行进行k=jk=1j=2i=1 29 71 58 54 31j=3k=2i=1第二趟第二趟 29 71 58 54 3129 71 58 54 31i=1k=3 j=429 71 58 54 31i=1k=4k!=i,交换交换互换互换29 31 58 54 71判断判断ajak?k=jk=jk=j29 31 58 54 71i=2k=2j=329 31 58 54 71i=2k=3j=429 31 54 58 71互换互换第三趟第三趟k!=i,交换交换i=3k=3j=4k=i,不交换不交换第四趟第四趟判断判断ajak?(递增递增)q(1)从从n个数的序列中选出最小的数,与第个数的序列中选出最小

    3、的数,与第1个数交个数交换位置;换位置;q(2)除第除第1个数外,其余个数外,其余n-1个数再按个数再按(1)的方法选出的方法选出次小的数,与第次小的数,与第2个数交换位置个数交换位置;q(3)重复重复(1)n-1遍,最后构成递增序列。遍,最后构成递增序列。p外循环为外循环为:控制排序趟数:控制排序趟数p内循环为内循环为:第:第i趟排序过程中的下标变量趟排序过程中的下标变量for(i=0;in-1;i+)k=i;for(j=i+1;jaj)k=j;if(k!=i)t=ai;ai=ak;ak=t;K是记下最值的下标K不在本次排序中的位置(由小到大排序)4936416511783665364156

    4、364165413641561178363641491156492525251149495611111125252525交交 换换 排排 序序“冒泡冒泡”排序法排序法特点:逐个对数组中每相邻二数进行比较,若条件满特点:逐个对数组中每相邻二数进行比较,若条件满 足,则互相交换,否则保持原位置不变。足,则互相交换,否则保持原位置不变。若有若有n个数据,需要进行个数据,需要进行i=n-1轮比较轮比较。每轮中比较。每轮中比较的次数为的次数为j=n-i+1 次。次。排序过程:(设数据存于排序过程:(设数据存于A数组中,数组中,n个数据,按递增个数据,按递增 次序排序)次序排序)冒泡法排序for(i=1;

    5、i n;i+);jaj+1)t=aj;aj=aj+1;aj+1=t;关键代码:for(i=0 ;i n-1 ;i+)for(j=0 ;jaj+1)t=aj;aj=aj+1;aj+1=t;注意排序堂数注意排序堂数i的初值的初值注意注意i的边界的边界注意注意j的边界的边界冒泡程序(上机19、52套编程题)for(i=0 ;i n-1 ;i+)for(j=i+1 ;jaj)t=ai;ai=aj;aj=t;注意排序堂数i的初值注意i的边界注意j的边界注意ai与aj比较补充知识一:查找补充知识一:查找查找的方法很多。查找的方法很多。如:顺序查找、二分法查找等等。如:顺序查找、二分法查找等等。1、顺序查找

    6、:、顺序查找:最简单的查找方法,基本思想是利用循最简单的查找方法,基本思想是利用循环顺序扫描整个数组,依次将每个元素环顺序扫描整个数组,依次将每个元素与待查找值比较,直至找到或找不到。与待查找值比较,直至找到或找不到。对于无序数组,顺序查找是唯一可行的办法对于无序数组,顺序查找是唯一可行的办法 对大批量数据用顺序查找占机器时间较多。对大批量数据用顺序查找占机器时间较多。2、二分法查找、二分法查找/折半查找:折半查找:二分法查找的条件:二分法查找的条件:必须是有序数列,即数组中的各必须是有序数列,即数组中的各元素已按数值大小按递增或递减元素已按数值大小按递增或递减次序排列!次序排列!查找过程:查

    7、找过程:(1)将数列对分,找出中间数据将数列对分,找出中间数据(2)用此数据与要查的数据比较用此数据与要查的数据比较(3)数值相等则结束查询,否则确定要查的数数值相等则结束查询,否则确定要查的数据所在区间,逐步缩小查找范围,每次将据所在区间,逐步缩小查找范围,每次将数列区间缩小一半,直到找到或找不到为数列区间缩小一半,直到找到或找不到为止。止。(08,14,23,37,46,55,68,79,91)(08,14,23,37,46,55,68,79,91)(08,14,23,37,46,55,68,79,91)(08,14,23,37,46,55,68,79,91)(08,14,23,37,46

    8、,55,68,79,91)lowmid(08,14,23,37,46,55,68,79,91)lowmidmidlowmidmidlowhigh=mid-1highhighhigh 折半查找(二分法查找)折半查找(二分法查找)highlow(08,14,23,37,46,55,68,79,91)midlowhigh 下标下标 0 1 2 3 4 5 6 7 8 折半查找1,5,6,9,11,17,25,34,38,41下界下界lowlow上界上界up中值中值mid共有10个已排好序的数据:查找9。up=9 low=0 mid=(up+low)/2=4查找范围:up=3 low=0 mid=(u

    9、p+low)/2=1 up=3 low=2 mid=(up+low)/2=2 up=3 low=3 mid=(up+low)/2=3折半查找程序#include main()int up=9,low=0,mid,found=0,find;int a10=1,5,6,9,11,17,25,34,38,41;scanf(%d,&find);printf(n);while(up=low&!found)mid=(up+low)/2;if(amid=find)found=1;break;else if(amidfind)up=mid-1;else low=mid+1;if(found)printf(fo

    10、und number is%dth mid);else printf(no found);补充知识二:数组元素的插入、删除补充知识二:数组元素的插入、删除1、插入数据、插入数据 在有序数组中插入数据后,数组仍然有序。在有序数组中插入数据后,数组仍然有序。要求数组有足够的空间。要求数组有足够的空间。前提:被操作数组已经是有序数组,操作前前提:被操作数组已经是有序数组,操作前后不改变数组的有序性后不改变数组的有序性 插入过程:插入过程:(1)确定数据插入位置确定数据插入位置(2)从最后一个元素开始逐个后移,直从最后一个元素开始逐个后移,直到将第到将第i个位置腾出。个位置腾出。(ai+1=ai)(3)将数据插入到指定下标元素位置中将数据插入到指定下标元素位置中 插入运算插入运算ai-1.a1a0alength ai+1ai x ai-1.a1 a0 ai ai+1 alength alength ai+1 ai x 2、删除数据、删除数据在有序的数组中删除数据后,数组仍然有序。在有序的数组中删除数据后,数组仍然有序。删除过程:删除过程:(1)确定数据删除位置确定数据删除位置i(2)从第从第i1个位置开始逐个向前移动原数组个位置开始逐个向前移动原数组元素,元素,(ai=ai+1)

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:常见三种排序方法-课件.ppt
    链接地址:https://www.163wenku.com/p-4652958.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库