对元素进行排序和跟踪

2023-12-14

只是要知道,我现在正在谈论 C++。

假设我有一个数组A = {4, 1, 5, 2, 3}并将其排序A_sorted = {1, 2, 3, 4, 5}。我想保留以下信息:现在元素在哪里e(来自数组 A)在排序数组 A_sorted 中?例如:A 中索引为 2 的元素 (5) 现在 A_sorted 中的索引为 4。

问题更像是:可以使用STL 来实现这一目标吗?


没有现成的功能可以实现此目的,但有一些解决方法。例如,您可以保留也包含原始位置的用户定义结构数组:

A = { {4,0}, {1,1}, {5,2}, {2,3}, {3,4}}

然后使用自定义比较器函数对其进行排序,该函数按值而不是原始索引排序。

A_sorted = {{1,1}, {2,3}, {3,4}, {4,0}, {5,2}}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

对元素进行排序和跟踪 的相关文章

随机推荐