【发布时间】:2021-07-26 05:26:23
【问题描述】:
我有一个 k 整数数组,我想从最大到最小整数进行排序。但是,我希望它“记住”未排序数组的原始索引。 (注意:我是用 C 语言编程的)。
在我的示例中,我有一个由 26 个元素组成的数组,它们表示文本文件中字母表中出现的字母。所以,第一个元素是“a”在文本中出现的次数,第二个元素是“b”出现的次数,以此类推……
我想以这样一种方式对数组进行排序,以便我可以获得从最常见到最不常见的字母出现的统计信息。
现在,我想到了两种可能的方法:
-
使用 26x2 二维数组,其中第一列中的字母索引和第二列中的出现次数。通过仅按第二列排序,我将得到一个 26x2 数组,该数组按我想要的顺序排列,但我不知道索引是否仍会与字母的出现相关联(我不知道知道如何实现这一点)。
-
我正在考虑的另一个选项是以某种方式生成 26 个索引的排列,这将在不实际排序的情况下对数组进行排序。通过这种方式,我可以将这个“排列数组”与我的无序数组进行比较,并找出最常见的字母。但是我不知道C中是否存在这样的功能。
有人能告诉我他们将如何解决这个问题吗?即使使用伪代码,只要您让我知道函数的调用方式以及定义它们的库即可。非常感谢!
【问题讨论】:
-
我在这里看不到任何代码...您是否尝试了两种可能的方法中的任何一种?结果如何?
-
@g01d:堆栈溢出问题通常不需要代码。调试问题应该提供代码,但算法和方法的问题一般不需要代码。
标签: arrays c function sorting multidimensional-array