如何获得整数数组的降序(常数)?

use*_*cer 3 c arrays sorting algorithm

我需要在整数数组中找到元素的降序.

例:

如果我有一个数组:

x = {24, 55, 22, 1}
Run Code Online (Sandbox Code Playgroud)

我想在C中使用一个算法来生成数组order,其中:

order = {2, 1, 3, 4}
Run Code Online (Sandbox Code Playgroud)

考虑到'my'数组x可以变得相当大(从1k-1M),我的问题如下:如何order尽可能高效(快速)地获得数组?显然,必须存在一种有效的算法吗?

Jac*_*ack 5

我想更有效的方式是最着名的方式.例如:

  • 为从0到N-1的所有索引分配一个向量并初始化它
  • 使用一种有效的排序算法对索引向量进行排序,例如快速排序合并排序,但是通过引用原始数据向量(您对索引进行排序,比较原始数据)