lijialijialijia 发表于 2019-6-13 15:27:59

想问下大家这个希尔排序对不对啊

我根据书上写的希尔排序 改了一点 然后 就感觉和小甲鱼的不一样 也不知道对不对void show_array( int *p , int n );


void shell_sort(int *p , int n);

int main()
{

    int a = {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;

                  for( j=i-d ; j>=0&&p<temp ; j=j-d)
                  {
                        p = p;

                        p = temp;

                  }
                }

                d=d/2;
          }
}



void show_array( int *p , int n )
{
    for(int i=0 ; i<n ; i++)
    {
      std::cout<<*(p+i)<<".";
    }
}

bin554385863 发表于 2019-6-13 19:32:39

std::cout<<*(p+i)<<".";
为毛我觉得除了上面的代码C++简直和C一模一样{:10_277:}

lijialijialijia 发表于 2019-6-13 21:48:19

bin554385863 发表于 2019-6-13 19:32
为毛我觉得除了上面的代码C++简直和C一模一样

正学数据结构吗 不要在意这些小细节
页: [1]
查看完整版本: 想问下大家这个希尔排序对不对啊