【发布时间】:2019-10-28 00:43:20
【问题描述】:
我目前有 2 个数组:
char A = {"Hello", "Hello2", "Hello3", "Hello4"}
int B = {3, 2, 0, 1};
B 数组中的每个索引位置对应于消息数组中的相同索引位置。例如
"Hello" 需要就位 3,"Hello2" 需要就位 2,"Hello3" 需要就位 0,"Hello4" 需要就位 1。
期望的输出:
char aSorted = {"Hello3", "Hello4", "Hello2", "Hello"};
因此,我需要一个可以根据B 对A 进行排序的排序算法。我真的很难解决这个问题,想知道是否有人可以给我一个在 C 中执行此操作的解决方案。请记住,我的 A 和 B 数组可能每个都有 256000 个值,所以它应该是最佳的。谢谢。
【问题讨论】:
-
你尝试了什么?
-
这不是真正的排序问题,而是根据您拥有的数据填充一个新数组。它应该是直截了当的。
-
分配一个新数组
F,使用整数i,aSorted[B[i]] = A[i]遍历B。 -
那条评论应该是一个答案。
-
显示的代码无法编译。
char A没有定义数组,int B或char aSorted也没有。
标签: c