-1
以前也有類似的問題,但我在應用這個概念時遇到了困難。我想跟蹤我的向量對中的對的索引,然後,一旦排序,std :: cout輸入順序。分類時跟蹤向量對索引
例如
cin >> 5 6 1 5 1 2 1 2 3 5
cout << 1 2 1 2 1 5 3 5 5 6
cout >> 3 4 2 5 1 //and this is where I am having trouble.
我想轉換爲三元組,其中一個元素是索引,但我無法得到符合我的需求。
任何幫助,將不勝感激。謝謝。
#include <iostream>
#include <cmath>
#include <vector>
#include <cstdlib>
using namespace std;
bool compare(const pair<int,int>&A, const pair<int,int>&B);
int main()
{
vector<pair<int,int>> v;
pair<int,int> tok;
while(cin >> tok.first>>tok.second){v.push_back(tok);}
sort(v.begin(),v.end(), compare);
for(int i = (signed int)v.size()-1; i >= 0 ; i--)
{
cout << v.at(i).first << " ";
cout << v.at(i).second << " ";
}
cout << endl;
return 0;
}
bool compare(const pair<int,int>&A, const pair<int,int>&B)
{
return A.first > B.first;
}
對不起,我應該已經表明,這是一個作業的一部分。 –