C++ 要排序或搜索的结构列表(C+;+;)
我有一个结构列表(结构的参数有name和number(都是字符串类型))。 我需要在列表中搜索用户输入的给定字符串(名称或数字)的所有匹配项。 我尝试使用std::search,但无法做到这一点。C++ 要排序或搜索的结构列表(C+;+;),c++,list,search,stl,structure,C++,List,Search,Stl,Structure,我有一个结构列表(结构的参数有name和number(都是字符串类型))。 我需要在列表中搜索用户输入的给定字符串(名称或数字)的所有匹配项。 我尝试使用std::search,但无法做到这一点。 有什么方法可以做到吗?如果我理解,您有一个结构a和一个对象列表a,因此: struct A { string name; int num; } class B { public: list<A>::iterator findName(const string&
有什么方法可以做到吗?如果我理解,您有一个结构a和一个对象列表a,因此:
struct A {
string name;
int num;
}
class B {
public:
list<A>::iterator findName(const string& n) {
list<A>::iterator it = listOfA.begin();
for(; it != listOfA.end(); ++it) {
if((*it).name == n) {
return it;
}
}
return 0;
}
list<A>::iterator findNum(const int& n) {
list<A>::iterator it = listOfA.begin();
for(; it != listOfA.end(); ++it) {
if((*it).num == n) {
return it;
}
}
return 0;
}
private:
list<A> listOfA;
}
结构A{
字符串名;
int-num;
}
B类{
公众:
列表。欢迎使用Stack Overflow!当您询问“我该怎么做”代码问题时,您应该尝试并发布示例代码,演示您遇到的问题以及您尝试过的内容,最好是以a的形式。有关更多帮助,请参阅常见问题解答。使用
std::find
而不是std::search
。我以后会确定的。kfsone