Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sorting Julia-如何对数组排序并获取索引_Sorting_Julia - Fatal编程技术网

Sorting Julia-如何对数组排序并获取索引

Sorting Julia-如何对数组排序并获取索引,sorting,julia,Sorting,Julia,我必须使用数组,一个包含权重,另一个包含类别(例如w=[3,4,1,2],x=[“a”,“b”,“c”,“c”])。现在,我想使用权重数组对数组x进行排序。如何用最少的代码实现这一点?有没有一种方法可以对数组进行排序并获得相应的索引,这样您就可以在具有相同大小的任何其他数组中使用这种新的排序顺序 我知道可以使用数据帧来实现这一点,但我正在寻找一种不用借助数据帧的方法。您需要sortperm函数 w = [3, 4, 1, 2] x = ["a","b",&

我必须使用数组,一个包含权重,另一个包含类别(例如
w=[3,4,1,2],x=[“a”,“b”,“c”,“c”]
)。现在,我想使用权重数组对数组
x
进行排序。如何用最少的代码实现这一点?有没有一种方法可以对数组进行排序并获得相应的索引,这样您就可以在具有相同大小的任何其他数组中使用这种新的排序顺序


我知道可以使用数据帧来实现这一点,但我正在寻找一种不用借助数据帧的方法。

您需要
sortperm
函数

w = [3, 4, 1, 2]
x = ["a","b","c","d"]

还要注意,
w[permvec]==[1,2,3,4]
还有
sortperm当您需要在相同大小的数组上重复执行此操作时。
julia> permvec = sortperm(w)
4-element Array{Int64,1}:
 3
 4
 1
 2

julia> xsorted = x[permvec]
4-element Array{String,1}:
 "c"
 "d"
 "a"
 "b"