冒泡法和选择法

上传人:新** 文档编号:569446282 上传时间:2024-07-29 格式:PPT 页数:6 大小:337.52KB
返回 下载 相关 举报
冒泡法和选择法_第1页
第1页 / 共6页
冒泡法和选择法_第2页
第2页 / 共6页
冒泡法和选择法_第3页
第3页 / 共6页
冒泡法和选择法_第4页
第4页 / 共6页
冒泡法和选择法_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《冒泡法和选择法》由会员分享,可在线阅读,更多相关《冒泡法和选择法(6页珍藏版)》请在金锄头文库上搜索。

1、由以上可推知:由以上可推知:6 个数要比较个数要比较5趟趟 第一趟中要进行两两比较第一趟中要进行两两比较5次次 第二趟中比较第二趟中比较 4次次 若有若有n个数,则要进行个数,则要进行n-1趟比较趟比较 第第j趟比较中要进行趟比较中要进行n-j次两两比较。次两两比较。例例2 用冒泡法对用冒泡法对10个数排序(由小到大)个数排序(由小到大)方法:将两个相邻数比较,小的调到前头。9 8 8 8 8 88 9 5 5 5 5 8 5 5 5 55 5 9 4 4 4 5 8 4 4 44 4 4 9 2 2 4 4 8 2 22 2 2 2 9 0 2 2 2 8 00 0 0 0 0 9 0 0

2、0 0 8排序过程:排序过程:(1 1)比较第一个数与第二个数,若为)比较第一个数与第二个数,若为逆序,逆序,a1a2a1a2,则则交换交换;然后比较第二个数与第三个数;依次类推,直至;然后比较第二个数与第三个数;依次类推,直至第第n-1n-1个数和第个数和第n n个数比较为止个数比较为止第一趟冒泡排序第一趟冒泡排序,结果,结果最大最大的数被安置在最后一个元素位置上的数被安置在最后一个元素位置上(2 2)对前)对前n-1n-1个数进行第二趟冒泡排序,结果使个数进行第二趟冒泡排序,结果使次大次大的数的数被安置在第被安置在第n-1n-1个元素位置个元素位置(3 3)重复上述过程,共经过)重复上述过

3、程,共经过n-1n-1趟趟冒泡排序后,排序结束冒泡排序后,排序结束输入输入n 个数给个数给a1 到到 anfor j=1 to n-1for i=1 to n-jaiai+1真真假假aiai+1输出输出a1 到到 an文件包含文件包含变量定义变量定义主函数主函数输入数据输入数据排序排序输出数据输出数据#include int a10,i,j,t;printf(Input 10 numbers:n);for(i=0;i10;i+) scanf(%d,&ai);for( ) for( ) if( ) printf(n);printf(The sorted numbers:n);for(i=0;i1

4、0;i+) printf(%d ,ai);main() j=0; j9 ; j+i=0 ; iai+1例例 用用简单选择法简单选择法对对1010个数排序个数排序排序过程:排序过程:(1 1)首先通过)首先通过n-1n-1次比较,从次比较,从n n个数中找出个数中找出最小最小的,的, 将它将它与第一个数交换与第一个数交换第一趟选择排序第一趟选择排序,结果最小的数被安置,结果最小的数被安置在在第一个元素位置第一个元素位置上上(2 2)再通过)再通过n-2n-2次比较,从剩余的次比较,从剩余的n-1n-1个数中找出关键字个数中找出关键字次小次小的记录,将它与的记录,将它与第二个数交换第二个数交换第二

5、趟选择排序第二趟选择排序(3 3)重复上述过程,共经过)重复上述过程,共经过n-1n-1趟趟排序后,排序结束排序后,排序结束例例初始:初始: 49 38 65 97 76 13 27 ji=11349一趟:一趟: 13 38 65 97 76 49 27 i=22738二趟:二趟: 13 27 65 97 76 49 38 三趟:三趟: 13 27 38 97 76 49 65 四趟:四趟: 13 27 38 49 76 97 65 五趟:五趟: 13 27 38 49 65 97 76 六趟:六趟: 13 27 38 49 65 76 97 kkkkjjjjjjjjjj一共比较一共比较n-1

6、趟趟k输入输入n 个数给个数给a1 到到 anfor i=1 to n-1for j=i+1 to najak假假真真k=j输出输出a1 到到 ank=ii != kaiak真真假假文件包含文件包含变量定义变量定义输入数据输入数据输出数据输出数据#include int a10,i,j,k,t;printf(Input 10 numbers:n);for(i=0;i10;i+) scanf(%d,&ai);printf(n);printf(The sorted numbers:n);for(i=0;i10;i+) printf(%d ,ai);main() 主函数主函数i=0; i9 ; i+t=ai;ai=ak; ak=t;for( ) k=i;for( )j=i+1; j10 ; j+if( )ajakk=j;if(i!=k)

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号