我有一个整数数组及其大小。我正在寻找一种就地排序算法(我们不能使用二级数组或变量(计数器除外))。 它的时间复杂度应该是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];
}
}
}
}