网站制作的基本流程做解析会员电影的网站
web/
2025/9/28 22:32:42/
文章来源:
网站制作的基本流程,做解析会员电影的网站,北京包装设计公司排名,新型建筑塑料模板的价格基于C语言的几种排序方法比较.doc基于C语言的几种排序方法比较 【摘要】文章对c语言中的冒泡排序法、选择排序法、插入排序法进行比较讨论#xff0c;以试图找出最佳排序方法。 【关键词】c语言;排序方法;比较 引言 排序是计算机程序设计中的一种重要操作#xff0c;其作用是…基于C语言的几种排序方法比较.doc基于C语言的几种排序方法比较 【摘要】文章对c语言中的冒泡排序法、选择排序法、插入排序法进行比较讨论以试图找出最佳排序方法。 【关键词】c语言;排序方法;比较 引言 排序是计算机程序设计中的一种重要操作其作用是将一个数据元素(或记录)的任意序列重新排列成一个(按关键字)有序的序列[1]。按照排序记录数量分为内部排序及外部排序两类。若整个排序过程不需要访问外存便能完成则称此类排序为内部排序。反之若参与排序的记录数量很大使内存不能一次容纳全部的记录所以排序过程中需要对外存进行访问则称此类排序为外部排序。 换句话说内部排序仅适合待排序记录数量相对较少的序列。内部排序方法分类较多按照排序过程依据的原则不同分类大致分为五类插入排序、交换排序、选择排序、归并排序和基数排序等。这里介绍的冒(起)泡排序大致属于交换排序中的一种排序方法下面将就c语言中冒泡排序法、选择排序法、插入排序法进行比较讨论以试图找出最佳排序方法. 1.冒泡排序法(起泡法) 1.1 冒泡排序算法分析 冒泡法算法分析如果有n个待排序数据需要进行n-1趟比较。在第1趟比较中要进行n-1次相邻元素的两两比较在第j趟比较中要进行n-j次两两比较。比较的顺序从前往后经过一趟比较后将最值沉底(换到最后一个元素位置)最大值沉底为升序最小值沉底为降序。 1.2 实现冒泡排序算法c语言源程序清单 #include #include main( ) int *a i j t n ; printf ( “请输入需排序元素个数 n ” ); scanf( %dn); a (int *)malloc(sizeof(int)*n); printf ( “请输入每个数组元素 ” ); for (i 1;i n;i i1) scanf(“ %d”a[i]); for (i 1;i n-1;i) for (j 1;j n-i;j) if (a[j]a[j1]) t a[j];a[j] a[j1];a[j1] t; printf( “排序后的数组为 “); for (i 1;i n;i i1) printf ( %d a[i]); 1.3 冒泡排序算法特点 相邻元素两两比较每趟将最值沉底即可确定一个数在结果的位置确定元素位置的顺序是从后往前其余元素可能作相对位置的调整。可以进行升序或降序排序。 该排序方法的优点是比较原则简单排序序列相对稳定;缺点是速度慢每次只能比较移动相邻两个数据每一趟只能减少一个数据参与排序的记录数量相对较少。 2.选择排序法 2.1 选择排序算法分析 选择排序法的算法分析每趟选出一个最值和无序序列的第一个数交换n个数共选n-1趟。第i趟假设i为最值下标然后将最值和i1至最后一个数比较找出最值的下标若最值下标不为初设值则将最值元素和下标为i的元素交换。 2.2 实现选择排序算法c语言源程序清单 以降序为例 #include #include main( ) int *a i j tk n ; printf ( “请输入需排序元素个数 n ” ); scanf( %dn); a (int *)malloc(sizeof(int)*n); printf ( “请输入每个数组元素 ” ); for (i 0;i
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/83563.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!