关于字符串检索类问题的总结
2018-01-02 14:45
197 查看
感觉字符串,字符数组问题有很多其实可以归类,其中一种很常见的问题就是要求判断字符串A中是否含有字符串B或者求出在一堆字符串中找出某个字符串出现的次数等等。在考试前稍微简单整理下:
举个例子:
对于上面这类题型个人探索出主要有两种比较简单快速的做法:
第一种是采用C风格的strstr函数:
#include <iostream>
#include <string.h>
using namespace std;
int main()
{
char txt[20][100];
char str[100]; //在txt[i]中查找str
int n;
cin>>str;
cin>>n;
for(int i=0;i<n;i++)
{
cin>>txt[i];
}
for(int i=0;i<n;i++)
{
if(strstr(txt[i],str))
cout<<txt[i]<<endl;
}
return 0;
}
第二种是采用C++风格的find函数:#include <iostream>
#include <string>
using namespace std;
int main()
{
string str1;
cin>>str1;
int num;
cin>>num;
string str2[40];
for(int i=0;i<num;i++)
{
cin>>str2[i]; //在str2[i]中查找str1
}
for(int i=0;i<num;i++)
{ //find函数有个版本在一个字符串中查找是否存在另一子串
if(str2[i].find(str1)<str2[i].length()) //若存在则返回其找到的第一个子串的首字符下标
{ //若不存在则返回一个很大超出字符串长度的数。
cout<<str2[i]<<endl;
}
}
return 0;
}当然还有一些其他做法,比如先将被查找的单词等存入一个数组,统计长度,然后按位比较查询等方法,在此不做过多说明。
举个例子:
对于上面这类题型个人探索出主要有两种比较简单快速的做法:
第一种是采用C风格的strstr函数:
#include <iostream>
#include <string.h>
using namespace std;
int main()
{
char txt[20][100];
char str[100]; //在txt[i]中查找str
int n;
cin>>str;
cin>>n;
for(int i=0;i<n;i++)
{
cin>>txt[i];
}
for(int i=0;i<n;i++)
{
if(strstr(txt[i],str))
cout<<txt[i]<<endl;
}
return 0;
}
第二种是采用C++风格的find函数:#include <iostream>
#include <string>
using namespace std;
int main()
{
string str1;
cin>>str1;
int num;
cin>>num;
string str2[40];
for(int i=0;i<num;i++)
{
cin>>str2[i]; //在str2[i]中查找str1
}
for(int i=0;i<num;i++)
{ //find函数有个版本在一个字符串中查找是否存在另一子串
if(str2[i].find(str1)<str2[i].length()) //若存在则返回其找到的第一个子串的首字符下标
{ //若不存在则返回一个很大超出字符串长度的数。
cout<<str2[i]<<endl;
}
}
return 0;
}当然还有一些其他做法,比如先将被查找的单词等存入一个数组,统计长度,然后按位比较查询等方法,在此不做过多说明。
相关文章推荐
- 关于字符串检索类问题的总结
- 关于动态内存分配与字符串操纵的问题总结
- 关于字符串类型相关的问题总结
- 总结:关于字符串长度的问题
- JAVA与C++::关于JNI中文字符串操作问题总结
- 关于字符串类型相关的问题总结
- 关于字符串检索、关键词的搜索问题:已搜索过的部分不会再被纳入下次搜索的范围内
- JAVA与C++::关于JNI中文字符串操作问题总结
- [总结]关于VS2002下的项目迁移到VS2005下相关问题总结
- [企业信息化]关于LCS2005的安装总结,但还有很多问题没有解决,希望能够对象我一样的新手有所帮助
- 【转贴】关于ASPNET在IIS一些问题的经验总结
- VC中一个关于宏的使用问题,字符串之间转换,宽字符与普通字符
- 关于在lotus domino中分割字符串的问题!
- 关于在ECLIPSE中配置weblogic的问题总结:
- 改正了一个DotText关于Google检索的问题
- 关于ASP.NET在IIS一些问题的经验总结
- 关于javaMail中标题以及发件人乱码的问题总结
- 【关于ASP.NET在IIS一些问题的经验总结】
- 关于C++类的问题总结(一)
- 关于ASP.NET在IIS一些问题的经验总结(zz)