假设有一个整型数组:
A[]={2, 2, 9, 8, 5, 7, 0, 6}和一张模板:
B[]={1, 0, 0, 1, 1, 1, 0, 1}我的问题是,我们如何根据B[]重新排列A[],以便如果Bi==1,Bj==0,那么Ai将被保证在新数组中位于Aj之前,它应该如下所示:
C[]={2, 8, 5, 7, 6, 2, 9, 0}PS:我发现"partition"函数几乎就是答案,除了它只支持谓词。有什么变通方法吗?
任何提示都非常感谢!
发布于 2012-08-31 11:52:11
这可以使用thrust::stable_sort_by_key()来实现。
https://stackoverflow.com/questions/12047961
复制相似问题