#include<iostream>
using namespace std;
#include<algorithm>
#include<vector>
int main(){
vector<int> nums{1,3,2,5,4};
vector<int> indexs;
// 初始化下标
for (int i=0; i<nums.size(); i++){
indexs.push_back(i);
}
sort(indexs.begin(),indexs.end(),[nums,indexs](int a, int b){
return nums[indexs[a]]<nums[indexs[b]];
});
sort(nums.begin(),nums.end());
cout<<"排序后的数字: ";
for (int num:nums) cout<<num<<" ";
cout<<endl;
cout<<"按排序后的下标: ";
for (int index:indexs) cout<<index<<" ";
return 0;
}
c++vector排序,下标跟着元素值的排序变化
于 2021-12-21 16:40:59 首次发布