码迷,mamicode.com
首页 > 编程语言 > 详细

常见排序算法(未完明天继续更)

时间:2015-07-31 01:17:12      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:

折半排序

 1  void half_insert_sort(int a[],int n)
 2 {
 3     for(int i=1;i<n;i++)
 4    {
 5         int low=0;
 6         int high=i-1;//not n-1
 7         int mid;
 8         int t=a[i];
 9         while(low<high)
10         {
11             mid=(high-low)/2;
12             if(a[mid]>t)
13             {
14                 high=mid--;
15             }
16             else
17             {
18                 low=mid++;
19             }    
20         }
21         for(int j=i;j>mid;j--)
22         {
23             a[j]=a[j-1];
24             a[low]=t;
25         }
26    }
27    }

 

希尔排序

void shell_sort(int a[],int n)
{
      int d,temp;
      for(int d=n/2;d>=1;i/=2)
     {
           for(int i=d;i<n;i++)
          {
               temp=a[i];
               for(int j=i-d;a[j]>temp&&j>=0;j-=d)
              {
                   a[j+d]=a[j];
              }
               a[j+d]=temp;
          }
     }
}

选择排序

常见排序算法(未完明天继续更)

标签:

原文地址:http://www.cnblogs.com/AAYuan/p/4691037.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!