C ++按字母顺序排序结构的向量

时间:2016-11-26 23:30:22

标签: c++ sorting vector struct

我正在为入门编程课程建立这个记录管理程序。部分代码是函数sortEmail,它应该按字母顺序对向量recordList进行排序并调用sortAlphabet函数。我在这一行上收到一个错误:sort(recordList.begin(), recordList.end(), compareAlphabet);“未在此范围内声明排序。”我该如何解决这个问题?

#include<iostream>
#include<vector>
#include<string>
using namespace std;
struct Record
{
    string name;
    string email;
};

bool compareAlphabet(const Record& a, const Record& b)
{
    return a.name < b.name;
}

sortEmail(vector<Record>& recordList)
{
    system("cls");
    sort(recordList.begin(), recordList.end(), compareAlphabet);
    cout<<"Name have been sorted alphabetically"<<endl;
    for (int i=0; i!=recordList.size(); i++)
    {
        cout<<recordList[i].name<<endl;
        cout<<recordList[i].email<<endl;
    }
    system("PAUSE");
    system("cls");  
}

1 个答案:

答案 0 :(得分:1)

我想你忘了加入<algorithm>
添加#include <algorithm>,看看它是否有效。