我需要对一个由数字和索引组成的结构进行排序,以便在排序后检查索引和数字。我的结构是:
struct data{
float number;
size_t index;
};
//My sorting function is:
bool by_number( const data& left, const data& right)
{
return (left.number < right.number);
}
// My code to sort is:
std::vector<data>dist_sort;
dist_sort.reserve(5);
dist_sort[0].number=33;
dist_sort[1].number=36;
dist_sort[2].number=12;
dist_sort[3].number=103;
dist_sort[4].number=233;
dist_sort[0].index=1;
dist_sort[1].index=2;
dist_sort[2].index=3;
dist_sort[3].index=4;
dist_sort[4].index=5;
std::sort(dist_sort.begin(),dist_sort.end(),by_number);
cout<<dist_sort[0].number<<endl;
cout<<dist_sort[0].index<<endl;
我希望输出为 12 和 3,但我没有得到它。代码编译,我已经包含了所有相关的头文件。请帮帮我!我错过了什么?