Re: [问题] sort vector 问题

楼主: MasterChang (我爱ASM)   2020-10-28 00:59:47
: 网络上好像是说需要把comp改成静态函数,但还是不知从何下手,请问版上高手,谢谢!!
其实,你很多地方打错字。你原来的comp并没有问题。
这里多塞资料跟印出去确认正确性。
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
struct Info{
float score;
float frank;
};
bool comp(const Info &Info1, const Info &Infor2){
return Info1.score>Infor2.score;
}
void MyFunction(){
vector<Info> my;
Info _tmp;
for(int i=0;i<10;i++)
{
_tmp.frank = i;
_tmp.score = i;
my.push_back(_tmp);
}
cout<<"Before: ";
for(vector<Info>::iterator citer = my.begin(); citer != my.end(); ++citer)
{
cout<<citer->score<<" ";
}
cout<<endl;
sort(my.begin(), my.end(), comp);
cout<<"After : ";
for(vector<Info>::iterator citer = my.begin(); citer != my.end(); ++citer)
{
cout<<citer->score<<" ";
}
cout<<endl;
}
int main()
{
MyFunction();
return 0;
}
输出:
Before: 0 1 2 3 4 5 6 7 8 9
After : 9 8 7 6 5 4 3 2 1 0
作者: LPH66 (-6.2598534e+18f)   2020-10-28 01:14:00
所以这就是为什么大家都要原 PO 直接贴上来而不是转打...他的问题大概是 comp 写怪了导致 "comp" 这名字无法直接用那这就要看他原本到底 comp 是怎么写的了
作者: firejox (Tangent)   2020-10-28 01:37:00
置底的公告往往是会被遗忘的
作者: wtchen (没有存在感的人)   2020-10-28 02:39:00
置底公告改个标题好了....
作者: ucrxzero (RX-0)   2020-10-29 00:17:00
版主改了什么?
作者: wtchen (没有存在感的人)   2020-10-30 16:20:00
发文请尽量附上程式码
作者: ucrxzero (RX-0)   2020-10-30 20:01:00
作者: goodzey (--)   2020-11-02 11:31:00
建设性回复,谢谢!!

Links booklink

Contact Us: admin [ a t ] ucptt.com