c语言中冒泡法、选择法、插入法三种常见排序算法分析

上传人:xzh****18 文档编号:34305725 上传时间:2018-02-23 格式:DOC 页数:6 大小:30.50KB
返回 下载 相关 举报
c语言中冒泡法、选择法、插入法三种常见排序算法分析_第1页
第1页 / 共6页
c语言中冒泡法、选择法、插入法三种常见排序算法分析_第2页
第2页 / 共6页
c语言中冒泡法、选择法、插入法三种常见排序算法分析_第3页
第3页 / 共6页
c语言中冒泡法、选择法、插入法三种常见排序算法分析_第4页
第4页 / 共6页
c语言中冒泡法、选择法、插入法三种常见排序算法分析_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《c语言中冒泡法、选择法、插入法三种常见排序算法分析》由会员分享,可在线阅读,更多相关《c语言中冒泡法、选择法、插入法三种常见排序算法分析(6页珍藏版)》请在金锄头文库上搜索。

1、C 语言中冒泡法、选择法、插入法三种常见排序算法分析一、冒泡法(起泡法)算法要求:用起泡法对 10 个整数按升序排序。算法分析:如果有 n 个数,则要进行 n-1 趟比较。在第 1 趟比较中要进行 n-1 次相邻元素的两两比较,在第 j 趟比较中要进行 n-j 次两两比较。比较的顺序从前往后,经过一趟比较后,将最值沉底(换到最后一个元素位置),最大值沉底为升序,最小值沉底为降序。算法源代码:# include main()int a10,i,j,t;printf(Please input 10 numbers: );/*输入源数据*/for(i=0;iai+1) /*相邻元素比较,逆序则交换*

2、/ t=ai;ai=ai+1;ai+1=t;/*输出排序结果*/printf(The sorted numbers: );for(i=0;imain()int a10,i,j,k,t,n=10;printf(Please input 10 numbers:);for(i=0;imain()int a10,i,j,t;printf(Please input 10 numbers: );for(i=0;i=0 j- ) /*在有序序列(下标 0 i-1)中寻找插入位置*/aj+1=aj; /*若未找到插入位置,则当前元素后移一个位置 */aj+1=t; /*找到插入位置,完成插入 */ printf(The sorted numbers: );for(i=0;i10;i+)printf(%d ,ai);printf(n);算法特点:每趟从无序序列中取出第一个数插入到有序序列的合适位置,元素的最终位置在最后一趟插入后才能确定位置。也可是先用循环查找插入位置(可从前往后或从后往前),再将插入位置之后的元素(有序列中)逐个后移一个位置,最后完成插入。该算法的特点是在寻找插入位置的同时完成元素的移动。因为元素的移动必须从后往前,则可将两个操作结合在一起完成,提高算法效率。仍可进行升序或降序排序。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

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