使用地图库构建电话目录搜索向量
Building a phone directory searching vector using maps library
当前正在创建一个简单的电话目录。我在搜索矢量时遇到问题。它只允许我在需要搜索接近名称的字符串时在目录中搜索确切的键。例如,当我搜索"car"时,它会指出它不在目录中,而它应该调出Carr、Derek和Carr David。请帮忙谢谢。
#include <string>
#include <map>
#include <vector>
#include <ostream>
#include <iostream>
int main()
{
std::map<std::string, std::vector <std::string> > directory;
directory["Carr"].push_back("Derek 916-667-6761");
directory["Carr"].push_back("David 916-667-6766");
directory["Mcfadden"].push_back("Darren 510-667-0000");
directory["Streater"].push_back("Rod 510-667-0001");
directory["Jones"].push_back("James 510-667-0020");
directory["Mack"].push_back("Khalil 707-557-6700");
directory["Woodson"].push_back("Charles 707-557-0061");
directory["Tuck"].push_back("Justin 707-557-6001");
directory["Moore"].push_back("Sio 415-600-5551");
directory["Roach"].push_back("Nick 415-600-4461");
directory["Woodson"].push_back("Rod 415-600-4441");
std::string str;
int yesno;
std::cout <<"Would you like to search a name in the phone directory?(yes=1, no=0)" <<std::endl;
std::cin>>yesno;
while (yesno==1)
{
std::cout << "Enter name you would like to find: ";
std::cin >> str;
std::map<std::string, std::vector <std::string> >::iterator p;
p = directory.find(str);
if(p != directory.end())
{
std::string key = p->first;
std::vector<std::string> names = p->second;
for (int i = 0; i < names.size(); ++i)
std::cout << key << " " << names[i] << std::endl;
}
else
{
std::cout << "Name not in phone directory.n";
}
std::cout <<"Do you have another name you would like to look up?(yes=1, no=0)"<<std::endl;
std::cin>>yesno;
}
system("pause");
return 0;
}
这是计算机科学的一个重要领域,与C++STL没有任何联系(至少现在是这样)。
请参阅此处了解更多信息。
相关文章:
- 向量上的线性搜索
- 对的排序向量 (std::vector<pair<int, int>>) 按对的第一个元素搜索并更新第二个元素值
- 哪个更快:在 1d 向量中按字符串搜索还是在 2d 向量中按向量搜索?
- C++:使用类在向量中搜索特定元素时,我得到了错误的结果
- 搜索并替换结构向量中的值
- 我可以做些什么来改进指针向量中的此搜索?
- 迭代向量以获得搜索功能
- 有没有办法搜索向量的元素,<String>然后检查它是否包含特定的字符,如果它确实打印了它
- 用户输入字符串的结构的搜索向量
- 搜索向量时出错
- 如何在 c++ 中搜索向量并获取元素的位置
- boost::元组的搜索向量
- 搜索向量
- 在 c++ 中搜索向量的一部分
- 使用二叉搜索搜索向量的上限
- 使用地图库构建电话目录搜索向量
- 基于元素的自定义键搜索向量
- 线性搜索向量[i]的响应时间为0ms,而向量.at(i)的响应时间为0ms
- 使用正则表达式搜索向量
- 如何在c++中有效地搜索向量