小编igo*_*gor的帖子

C++如何使用operator <对vector <class*>进行排序

我有

 class c1{

public:
    int number;

    c1()
    {
        number=rand()%10;
    }

    bool operator < (c1 *w)
    {
        return number < w->number;
    }


};

vector<c1*> vec = { ... }
sort(vec.begin(),vec.end()) 
Run Code Online (Sandbox Code Playgroud)

为什么它有点排序?

但如果我们有

 bool operator < (c1 w)
    {
        return number < w.number;
    }
Run Code Online (Sandbox Code Playgroud)

vector<c1> vec = { ... }
Run Code Online (Sandbox Code Playgroud)

它会被排序!

c++ sorting vector

2
推荐指数
1
解决办法
7124
查看次数

标签 统计

c++ ×1

sorting ×1

vector ×1