马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
我根据书上写的希尔排序 改了一点 然后 就感觉和小甲鱼的不一样 也不知道对不对- void show_array( int *p , int n );
- void shell_sort(int *p , int n);
- int main()
- {
- int a[33] = {25,33,12,58,99,100,78,62,41,83,56,79,21,88,18,108,2,4,6,8,100,45,77,200,201,203,245,110,150,99,100,78,62};
- std::cout<<"直接排序前: ";
- show_array(a , 33);
- shell_sort(a , 33);
- std::cout<<"\n排序后: ";
- show_array(a , 33);
- return 0;
- }
- void shell_sort(int *p , int n)
- {
- int temp;
- int i,j,d = n/2;
- while(d>0)
- {
- for( i=d ; i<n ; i++)
- {
- temp = p[i];
- for( j=i-d ; j>=0&&p[j]<temp ; j=j-d)
- {
- p[j+d] = p[j];
- p[j] = temp;
- }
- }
- d=d/2;
- }
- }
- void show_array( int *p , int n )
- {
- for(int i=0 ; i<n ; i++)
- {
- std::cout<<*(p+i)<<".";
- }
- }
复制代码 |