<<  < 2013 - >  >>
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31




折半插入排序算法代码:

#i nclude "stdafx.h"
#i nclude "iostream"
using namespace std;
void Insert(int a[],int n)
{
 int low,high,i,j,mid,t;
 for(i=1;i<n;i++)
 {
   t=a[i];
   low=0;
   high=i-1;
   while(low<=high)
   {
    mid=(low+high)/2;
    if(t>a[mid])
     low=mid+1;
    else
     high=mid-1;
   }
   for(j=i-1;j>=high+1;j--)
   {
    a[j+1]=a[j];
   }
   a[j+1]=t;
 }
}
void main(void)
{
 int b[10],i;
 cout<<"输入一个数组:"<<'\n';
 for(i=0;i<10;i++)
  cin>>b[i];
 cout<<"这个数组是:"<<'\n';
 for(i=0;i<10;i++)
  cout<<b[i]<<'\t';
 Insert(b,10);
 cout<<"结果是:"<<'\n';
 for(i=0;i<10;i++)
  cout<<b[i]<<'\t';
 cout<<'\n';
 system("pause");
}

发表评论:
天涯博客欢迎您!