C语言中常用排序方法分析与探讨.pdf
《C语言中常用排序方法分析与探讨.pdf》由会员分享,可在线阅读,更多相关《C语言中常用排序方法分析与探讨.pdf(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第1 8 卷第2 期商洛师范专科学校学报v 0 1 1 8N o 2C 语言中常用排序方法分析与探讨李娜(商洛师范专科学校现代教育技术中心,陕西商洛7 2 6 0 0 0)摘要:本文从基本思想、排序过程、算法等方面对c 语言几种常用的排序方法进行分析比较关键词:C 语言;排序方法;选择中圈分类号:T P 3 1 2文献标识码:A文章编号:1 0 0 8 3 0 3 0(2 0 0 4)0 2 0 0 4 0 一0 3数据的排序是学习C 语言经常碰到的问题所谓排序是指把一组杂乱无章的数按照大小顺序排列包括整数、实数、字符及字符串排序c 语言编程中排序的方法很多,常用的有冒泡排序法、选择排序法、插
2、入排序法、快速排序法等每一种排序方法的基本思想、排序过程都不相同,这里对以上几种排序方法进行分析,以方便初学者理解及选择1 排序方法的分析1 1 冒泡排序1 1 1 基本思想两两比较待排序数据元素的大小发现两个数据元素的次序不满足顺序条件(从小到大)时即进行交换反之,则保持不变这样每次最小的结点就像气泡一样浮到序列的最前位置(所以称之为冒泡),而较大的结点逐渐往下沉,并且每次都要缩小比较的范围,直到没有反序的数据元素为止1 1 2 排序过程示例关键字4 73 3 6 18 27 21 12 54 7第一趟1 14 73 36 18 27 22 54 7第二趟1 12 54 73 36 l8 2
3、7 24 7第三趟l l2 53 34 74 76 18 2 7 2第四趟1 l2 53 3 钾4 76 l7 28 2第五趟1 12 53 34 74 76 l7 2 8 2第六趟1 12 53 34 74 76 17 28 2第七趟1 12 5 3 34 74 76 17 28 21 1 _ 3 具体算法v o i db u b b l e(i n ta【】,i n tn)(i n t,k;f 0 币=l;i n;i+)f o r o=0 d a j+1 )k=a j】;a 啪=a U+l】;a D+1 =k;J)1 1 4 算法分析空间效率冒泡排序过程中仅用了一个辅助单元时间效率如果有n 个数,总共要进行n _ l趟冒泡,对j 个记录的表进行一趟冒泡需要j-1 次关键码比较最好情况下,待排序列已有序,不需移动稳定性冒泡排序是一种稳定排序方法1,2 选择排序1 2 1 基本思想在要排序的一组效中,选出最小的一个数与第一个位置的数交换;然后在剩下的数当中再找最小的与第二个位置的数交换,如此循环到倒数第二个数和最后一个数比较为止1 2 2 排序过程示例收稿日期:2 0 0 4 0 2 1 0作者简介:李娜(1 9 7 6 一),女,陕西丹凤人,商洛师范专科学校现代教育技术中心助教万方数据万方数据万方数据万方数据
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 常用 排序 方法 分析 探讨
限制150内