基本排序算法
绪:到目前为止学过的算法有很多,也很杂。随着工作中的应用,慢慢的发现,使用还是最初的冒泡排序,学习的高级排序算法一点也没有用到,而且也不考虑一些优化的内容。不知道这是怎么了,也许是写的项目要求不高,只要实现基本功能就可以了。还是自己对自己的要求降低了。我很有必要写一篇比较,以及算法的实现。
排序的目的:
我认为排序就是为了查找方便,一切都是为了查找,无论是在搜索引擎还是在网上查资料。基本功能都是查询。
一、直接插入排序
int a[10]={100,52,34,89,55,58,45,43,23,12}; int i,j,k,temp; for(i=1;i<10;i++){ temp = a[i]; //待插入元素 j=i-1; //待比较元素 while((a[j]>temp) && (j>=0)){ a[j+1]=a[j]; j--; } a[j+1]=temp; } for(k=0;k<10;k++)printf("%d,",a[k]);
结论:
把关键字插入到前面有序的数组中,把其他关键字后移。
二、交换排序(冒泡排序)
int a[10]={1,52,34,89,55,58,45,43,23,12}; int i,j,k; for(i=0;i<10;i++){ for(j=i+1;j<10;j++){ if(a[i]>a[j]){ k=a[i]; a[i]=a[j]; a[j]=k; } } } for(k=0;k<10;k++)printf("%d,",a[k]);
结论:
每次排序都会有一个数在正确的位置,即是冒泡排序,第一个关键字与第二个关键字比较,若逆序则交换,然后第二个与第三个比较,若逆序则交换,依次类推。
相关推荐
排序算法排序算法排序算法排序算法排序算法排序算法排序算法
数据结构之排序算法 包含目前所有排序方法: 1 快速排序 2 冒泡排序 3 堆排序 4 希尔排序 5 直接插入排序 6 直接选择排序 7 基数排序 8 箱、桶排序 9 归并排序
常用算法排序算法常用算法排序算法
任务:用程序实现插入法排序、起泡法改进算法排序; 利用插入排序和冒泡法的改进算法,将用户随机输入的一列数按递增的顺序排好。 输入的数据形式为任何一个正整数,大小不限。 输出的形式:数字大小逐个递增的数列。
算法 常用算法 排序 查找 零基础学算法源码 NOIP普及组试题精解 NOIP提高组试题精解
二路归并算法 排序 归并排序
算法排序专题:冒泡排序,动画效果实现!
文档包含:排序算法:选择排序排序算法,插入排序排序算法,对半插入排序排序算法,冒泡排序排序算法,堆排序排序算法。
一些算法排序代码 冒泡排序,基数排序,插入排序,归并排序等等
数组与冒泡排序,用冒泡排序这一算法排序数组,详细。一组数据的排序,从键盘输入10个学生的成绩,存放在一个一维数组中,把数组中的学生成绩按升序排列并输出。
1、常见排序算法实现(1-6选择几个算法练习) 1)问题描述:输入一组关键字序列分别实现下列排序。 (1)实现简单选择排序、直接插入排序和冒泡排序。 (2)实现希尔排序算法。 (3)实现折半插入排序。 ...
c算法大全常用c语言算法包括数论算法图论算法排序算法高精度计算树的遍历算法等等(完整版).doc
冒泡法排序c语言程序 C语言冒泡算法排序和链表中的应用 C语言冒泡算法排序和链表中的应用 C语言冒泡算法排序和链表中的应用
c C++冒泡算法排序和链表中的应用 C++冒泡算法排序和链表中的应用 C++冒泡算法排序和链表中的应用
包括对五种排序算法:冒泡,插入,选择,归并,快速排序算法的对于N=1000,10000,100000的算法实现时间的比较及源程序和测试数据截图
数据结构8中排序算法,配源码和动画演示,算法不再难!
此文档,包含了 树,二叉树,数据结构与算法,排序,哈希表等难点重点详解。希望对于学习有帮助。
十大经典排序算法 排序算法是《数据结构与算法》中最基本的算法之一。 排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中 进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序 记录,在...
想要了解各种排序算法吗,这里就是一些关于排序算法的分类
各种排序算法(插入 希尔 归并 快速 堆排序 基数排序 选择 冒泡等等)