您当前的位置: 首页 >  排序算法
  • 2浏览

    0关注

    880博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

排序算法--C语言实现

CodeAllen嵌入式编程 发布时间:2019-10-18 23:01:54 ,浏览量:2

几种排序方法的比较:

(1)选择法排序

 选择法排序在排序过程中共需进行n(n-1)/2次比较,互相交换n-1次。选择法排序简单、容易实现,适用于数量较小的排序。

(2)冒泡法排序

 最好的情况是正序,因此只要比较一次即可;最坏的情况是逆序,需要比较n^2次。冒泡法是稳定的排序方法,当待排序列有序时,效果比较好。

(3)交换法排序

  交换法排序和冒泡法排序类似,正序时最快,逆序时最慢,排列有序数据时效果最好。

(4)插入法排序

  此算法需要经过n-1次插入过程,如果数据恰好应该插入到序列的最后端,则不需要移动数据,可节省时间,因此若原始数据基本有序,此算法具有较快的运算速度。

(5)折半法排序

  折半法排序对于较大的n时,是速度最快的排序算法;但当n很小时,此方法往往比其他排序算法还要慢。折半法排序是不稳定的,对应有相同关键字的记录,排序后的结果可能会颠倒次序。

  插入法、冒泡法、交换法排序的速度较慢,但参加排序的序列局部或整体有序时,这种排序能达到较快的速度;在这种情况下,折半法排序反而会显得速度慢了。当n较小时,对稳定性不作要求时宜用选择排序,对稳定性有要求时宜用插入或冒泡排序。

 

 

 

冒泡算法

#include 
/*C语言方法:算法       流程      试数*/
void sort(int * a , int len)//必要参数,参数定义
{
    int i,j,t;
    for(i = 0;i 表示升序,            
关注
打赏
1665938897
查看更多评论
0.0380s