Я пытаюсь сортировать вектор пар вторым элементом. Но он не работает, а показывает файл stl_algo.h и показывает ошибку. Вот код ниже. Пожалуйста, игнорируйте мои биты заголовка и использования пространства имен std.And я уже прочитал это>How do I sort a vector of pairs based on the second element of the pair?Вектор сортировки пар не работает
#include<bits/stdc++.h>
using namespace std;
struct sort_pred
{
bool comp(pair< pair<int,int> , double >&l, pair< pair<int,int> , double >&r)
{
return l.second<r.second;
}
};
int main()
{
vector< pair< pair<int,int> ,double > >arr;
int n;
scanf("%d",&n);
int w,v;
pair< pair<int,int> ,double >temp;
for(int i=0;i<n;i++)
{
scanf("%d%d",&w,&v);
temp.first.first=w;
temp.first.second=v;
temp.second=w*1.00/v;
arr.push_back(temp);
}
sort(arr.begin(),arr.end(),sort_pred());
for(int i=0;i<n;i++)
{
printf("%d %d %f\n",arr[i].first.first,arr[i].first.second,arr[i].second);
}
return 0;
}
Не могли бы вы уточнить причиненные Вами ошибки. –
, и вы не думаете, что показ ошибок поможет нам помочь ... – bolov
Также проверьте [Почему я не должен #include?] (Http://stackoverflow.com/questions/31816095/ why-should-i-not-include-bits-stdc-h), пожалуйста. –