加文

在这个世界上取得成就的人,都努力去寻找他们想要的机会,如果找不到机会,他们便自己创造机会。 -- 萧伯纳
随笔 - 14, 文章 - 56, 评论 - 1, 引用 - 0
数据加载中……

折半插入排序

 

#include <iostream>
using namespace std;
void BinarySort(int a[],int n)
{
    
int high ;
    
int low ; 
    
int m;
    
int temp;
    
for(int i=1;i<n;i++)
    
{
        low 
= 0;
        high 
= i-1;
        temp 
= a[i];
        
while(low<=high)
        
{
            m 
= (low+high)/2;
            
if(temp<a[m])
                high 
= m-1;
            
else
                low 
= m+1;
        }

        
for(int j=i-1;j>=low;j--)
            a[j
+1= a[j];
        a[low] 
= temp;
     }

 }

 
int main()
 
{
     
int r[14= {10,2,12,3,4,89,5,45,21,7,90,112,78,91};
     BinarySort(r,
14);
     
for(int i=0;i<14;i++)
     
{
         cout
<<r[i]<<endl;
     }

     getchar();
     
return 0;
}

 

posted on 2011-10-25 01:32 chxzwj 阅读(145) 评论(0)  编辑 收藏 引用 所属分类: 常用算法


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理