选择排序法和冒泡排序法的比较

选择排序法和冒泡排序法的比较

ID:34718246

大小:50.03 KB

页数:3页

时间:2019-03-10

选择排序法和冒泡排序法的比较_第1页
选择排序法和冒泡排序法的比较_第2页
选择排序法和冒泡排序法的比较_第3页
资源描述:

《选择排序法和冒泡排序法的比较》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、##总结##冒泡排序法是两两依次比较,并做交换,交换的次数多。选择排序法是每次循环找出最值,循环结束后将最值调整到合适位置,交换的次数少。相同点:1.都要通过n-1组排出具有n个数的顺序;(n个数,n-1组排序)2.都是通过逐个相比,比出最值的;不同点:1.冒泡法,顾名思义就是把小的泡冒到上面,大的泡沉到下面,最值在中间和其他的值交换;而选择法,是假定了一个最值,所以最值和其他的值的交换就发生在假定最值的地方;冒泡排序法的具体实现方法是这样的,从数组的第一个元素`arr[0]`开始,两两比较**(`arr[n],arr[n+1]`),如果前面

2、的数大于后面的数(`arr[n]>arr[n+1]`),那么交换两个元素的位置,把大的数往后移动。这样依次经过一轮比较以后,最大的数将会被交换到最后的位置(arr[n-1])。先一起再来看看冒泡排序法是怎么排序的。数组排序前7231243321217139第一轮排序7124232121713933第二轮排序74122121713923第三轮排序471221713921第四轮排序4721213917第五轮排序42712913第六轮排序247912第七轮排序2479第八轮排序247第九轮排序24可以看到,每一轮的排序,在这一轮中参与比较的元素中最

3、大的数将会浮到最后。而冒泡排序的名字也是从这里来的。voidbubblesort(inta[],intm){inti,j;inttmp;intflag=0;//设定标志,如果第一次循环比较时没有发生交换,则说明数组是升序排序,不用排序,提前结束循环。for(i=0;ia[j+1]){tmp=a[j];a[j]=a[j+1];a[j+1]=tmp;flag=1;}}if(0==flag){printf("NoS

4、ort");break;}}}在选择排序法中说的就是,每一次循环过程中,通过比较选择出你需要的**最值**。选择排序法的过程是,通**过比较,选择出每一轮中最值元素,然后把他和这一轮中最最前面的元素交换**,所以这个算法关键是要记录每次比较的结果,即每次比较后最值位置(下标)。先来看看选择排序的过程:数组排序前    7    23    12    4    33    21    2    17    13    9      第一轮循环    2    23    12    4    33    21    7    17    

5、13    9          第二轮循环     4    12   23    33    21    7    17    13    9    第三轮循环          7    23    33    21    12    17    13    9    第四轮循环                  9    33    21    12    17    13    23         第五轮循环                       12    21    33    17    13    23    第六轮

6、循环                              13    33    17    21    23   第七轮循环                                  17    33    21    23    第八轮循环                                        21    33    22   第九轮循环                                  22    33通过这个过程,我们可以看到,每轮循环过程中,都会找出这个最值元素,下一轮排序时就不

7、用再考虑这个元素了。voidselectionsort(inta[],intm){inti,j;intk;inttmp;for(i=0;i

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。