简论常用c语言排序算法剖析

简论常用c语言排序算法剖析

ID:9707871

大小:63.50 KB

页数:9页

时间:2018-05-05

简论常用c语言排序算法剖析_第1页
简论常用c语言排序算法剖析_第2页
简论常用c语言排序算法剖析_第3页
简论常用c语言排序算法剖析_第4页
简论常用c语言排序算法剖析_第5页
资源描述:

《简论常用c语言排序算法剖析》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、简论常用C语言排序算法剖析常用C语言排序算法剖析论文导读:本论文是一篇关于常用C语言排序算法剖析的优秀论文范文,对正在写有关于元素论文的写有一定的参考和指导作用,摘要:排序是计算机科学中最重要的研究理由之一,也是学习C语言程序设计过程中重点研究理由之一。主要介绍了顺序比较法、选择排序法、冒泡排序法、改善的冒泡排序法和直接插入排序法,并从排序算法的思想、模拟排序执行过程、实现排序的算法代码及算法性能分析4个方面进行了详细的剖析,可以帮助C语言初学者轻松理解几种常用的排序算法。  关键词:C语言;排序;算法思想;数组  16727800(2012)011005103  __________

2、______________________________  简介:毛广敏(1978-),女,宿迁经贸高等职业技术学校讲师,研究方向为计算机软件。0引言  在数据处理中,数据排序是相当重要的,它可以使数据更有条理,方便数据的处理。排序是程序设计的常见理由,解决排序理由也有多种算法,常用的算法有顺序比较排序法、选择排序法、冒泡排序法、直接插入排序法、快速排序和希尔排序法等排序算法。在学习C语言程序设计过程中排序算法也是重点研究理由之一,本文主要用C语言来描述几种常见的排序算法,以及分析实现算法的基本思路、模拟相应算法实现排序的过程及算法性能分析。文中所涉及的排序均为升序排序。  1顺序

3、比较排序法  1.1算法思想  假设数组有n个元素,从第一个元素开始为第一趟,第一个元素和第二个元素开始到第n个元素按顺序作比较,如果第一个元素大于某个元素则第一个元素和该元素进行交换,第一个元素和其后的n1个元素一一进行两两比较结束后将是所有元素中的最小值。接下来第二趟从第二个元素开始逐一和其后的n2个元素两两比较,在进行n2次比较后第二个元素将是剩下n1个元素中的最小值。依次类推一直到第n1趟最后两个元素进行比较并得到第n1个元素是剩下的两个元素中的较小值。  1.2模拟排序执行过程  假设一个整型数组有5个元素,分别为23、12、5、16、10,排序执行过程如下所示:  第一趟:

4、231251610(第一趟比较前元素)  第一次:122351610(由于23>12两元素交换)  第二次:523121610(由于12>5两元素交换)  第三次:523121610(由于512两元素交换)  第二次:512231610(由于1210两元素交换)  第三趟:510231612(第三趟比较前元素)  第一次:510162312(由于23>16两元素交换)  第二次:510122316(由于16>12两元素交换)  第四趟:510122316(第四趟比较前元素)  第一次:510121623(由于23>16两元素交换)  1.3实现顺序比较排序法核心代码  for(i=0;

5、ia[j])//如果当前趟的第一个元素大于当前元素,则进行交换  {t=a[i];  a[i]=a[j];  a[j]=t;}  1.4算法性能分析  有n个元素参加排序要进行n1趟比较,第i趟要进行ni次两两比较。时间复杂度为O(n2)。顺序比较排序算法稳定,比较次数已知,但是该算法速度慢。  2冒泡排序法  2.1算法思想  假设数组有n个元素,第一趟从第一个元素开始依次比较两个相邻元素的值,如果前一个元素的值大于后一个元素的值则两个相邻元素进行交换,第一趟比较n1次,经过一趟排序n个元素中的最大值存放到最后一个数组元素中。第二趟从第一个元素开始到第n1个元素相邻两个元素作比较,如

6、果前一个数大于后一个数则两个相邻的元素进行交换,经过n2次比较,这一趟中最大值放在第n1个数组元素的位置。依次类推一直到第n1趟第一个元素和第二个元素两个元素进行比较,两个元素中的较大值放在第二个数组元素的位置,较小值放在第一个数组元素的位置。  2.2模拟排序执行过程  假设一个整型数组有5个元素,分别为23、12、5、16、10,用变量k保存最小值的下标,排序执行过程如下所示:  第一趟:231251610(第一趟比较前元素)  第一次:122351610(由于23>12两元素交换位置)  第二次:125231610(由于23>5两元素交换位置)  第三次:125162310(由于

7、23>16两元素交换位置)  第四次:125161023(由于23>10两元素交换位置)  第二趟:125161023(第二趟比较前元素)  第一次:512161023(由于12>5两元素交换位置)  第二次:512161023(由于1210两元素交换位置)第三趟:512101623(第三趟比较前元素)  第一次:512101623(由于510两元素交换位置)  第四趟:510121623(第四趟比较前元素)  第一次:510121623(由于

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

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

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