我需要对一个由数字和索引组成的结构进行排序,以便在排序后检查索引和数字。我的结构是:
    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,但我没有得到它。代码编译,我已经包含了所有相关的头文件。请帮帮我!我错过了什么?