c_cpp 根据给定的索引重新排序数组

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 根据给定的索引重新排序数组相关的知识,希望对你有一定的参考价值。

//https://www.geeksforgeeks.org/reorder-a-array-according-to-given-indexes/
#include <iostream>
using namespace std;

int main() {
    int a[] = {50, 40, 70, 60, 90};
    int index[] = {3,  0,  4,  1,  2};
    int n=5;
    int t=0;
    for (int i=0;i<n;i++) {
        while (index[i]!=i) {
            int temp1= index[index[i]];
            int temp2= a[index[i]];

            a[index[i]]= a[i];
            index[index[i]]= index[i];

            index[i]= temp1;
            a[i]= temp2;
        }
    }
    for (int i=0;i<n;i++)
        cout<< index[i]<< " "<< a[i]<< endl;
    return 0;
}

以上是关于c_cpp 根据给定的索引重新排序数组的主要内容,如果未能解决你的问题,请参考以下文章

c_cpp 根据给定值的绝对差值对数组进行排序

c_cpp 从两个给定排序数组的备用元素生成所有可能的排序数组

c_cpp 找到给定数组中的固定点(值等于索引)

c_cpp 查找已排序数组中给定数字的出现次数

c_cpp 在排序数组中,找到最接近给定数字的数字

c_cpp [bs] [array]搜索范围。给定排序的整数数组,找到给定目标值的起始位置和结束位置。 O(log n)