整数数组的就地排序算法

时间:2017-02-16 15:47:56

标签: c++ algorithm sorting data-structures

我有一个整数数组及其大小。我正在寻找一种就地排序算法(我们不能使用二级数组或变量(计数器除外))。 它的时间复杂度应该是O(n)。(有可能吗?) 我想为这个算法编写一个c ++代码,这就是我写的。但我知道它的时间复杂性并不好。 有人能帮助我吗?

    void sort(int a[], int n)
    {
        for(int i=0; i<n-1 ; i++)
        {
          for( int j=i+1; j<n ; j++)
          {
            if(a[i]<a[j])
            {
               a[j]=a[i]+a[j];
               a[i]=a[j]-a[i];
               a[j]=a[j]-a[i];
             }
           }
         }
     }

0 个答案:

没有答案