Vector 在向量中查找特定元素

Vector 在向量中查找特定元素,vector,iterator,find,Vector,Iterator,Find,我有一个班级团队,包含足球队的信息。我需要在一个文件中阅读并将每个独特的团队添加到矢量赛季 //循环以确定唯一的团队 if(season.size() <= 1) { season.push_back(new_team); cout << "First team added!" << endl; } vector<team>::iterator point;

我有一个班级团队,包含足球队的信息。我需要在一个文件中阅读并将每个独特的团队添加到矢量赛季

//循环以确定唯一的团队

    if(season.size() <= 1)
        {
            season.push_back(new_team);
            cout << "First team added!" << endl;
        }

    vector<team>::iterator point;
    point = find(season.begin(), season.end(), new_team);
    bool unique_team = (point != season.end());
    if(unique_team == true && season.size()>1)
        {
            season.push_back(new_team);
            cout << "New team added!" << endl;
        }

    cout << "# of Teams: " << season.size() << endl;
    system("pause");

if(seasure.size()我认为您的逻辑可能有点不正确。当团队向量的大小为0时,应该添加第一个团队。假设您的团队是整数向量,insertTeam函数将如下所示

void Season::insertTeam(int team)
{
    if (teams.size() == 0)
    {
        teams.push_back(team);
        cout << "First team " << team << " added!" << endl;
    }
    else
    {
        vector<int>::iterator point;
        point = find(teams.begin(), teams.end(), team);
        bool unique_team = (point == teams.end());
        if(unique_team == true && teams.size()>0)
        {
            teams.push_back(team);
            cout << "New team " << team << " added!" << endl;
        }
    }
}
void季节::插入团队(int团队)
{
如果(teams.size()==0)
{
团队。推回(团队);

cout我认为您的逻辑可能有点不正确。当teams向量的大小为0时,应该添加第一个team。假设您的team是整数向量,insertTeam函数将如下所示

void Season::insertTeam(int team)
{
    if (teams.size() == 0)
    {
        teams.push_back(team);
        cout << "First team " << team << " added!" << endl;
    }
    else
    {
        vector<int>::iterator point;
        point = find(teams.begin(), teams.end(), team);
        bool unique_team = (point == teams.end());
        if(unique_team == true && teams.size()>0)
        {
            teams.push_back(team);
            cout << "New team " << team << " added!" << endl;
        }
    }
}
void季节::插入团队(int团队)
{
如果(teams.size()==0)
{
团队。推回(团队);

我想你的逻辑可能有点错误,当赛季向量的大小为0时,是否应该添加一线队。如果已添加一线队,则无需检查它是否在向量中即可再次添加。你的发现(…)代码工作正常。我认为您的逻辑可能有点不正确,当季节向量的大小为0时是否应该添加第一个团队。如果已添加第一个团队,则无需检查它是否在向量中才能再次添加。您的查找(…)代码工作正常。