C 将数据从升序排序到降序,哪种排序是有效的?
我想使用C实现对一组数据进行排序。我想知道哪种排序方式在时间复杂度方面是有效的和最好的。请注意,数据仅按升序排列。我想按降序排序。哪一个效率更高?效率最低?为什么?C 将数据从升序排序到降序,哪种排序是有效的?,c,sorting,data-structures,C,Sorting,Data Structures,我想使用C实现对一组数据进行排序。我想知道哪种排序方式在时间复杂度方面是有效的和最好的。请注意,数据仅按升序排列。我想按降序排序。哪一个效率更高?效率最低?为什么? 有人能解释一下吗?在这种情况下,您不必使用排序算法。例如,您可以将ith元素与n-ith元素交换: for(i = 0; i < size/2; ++i) { tmp = arr[i]; arr[i] = arr[size - 1 - i]; arr[size - 1 - i] = tmp; } 用于
有人能解释一下吗?在这种情况下,您不必使用排序算法。例如,您可以将
i
th元素与n-i
th元素交换:
for(i = 0; i < size/2; ++i)
{
tmp = arr[i];
arr[i] = arr[size - 1 - i];
arr[size - 1 - i] = tmp;
}
用于(i=0;i
这始终具有复杂性
O(n/2)
。我认为没有比这更快的方法了。当然,除了从另一个方向读取数据之外。我建议您查看位于的比较表,然后选择!