设为首页 加入收藏

TOP

C++ 字符串分割 (HDUOJ 2072)
2014-11-24 07:56:42 来源: 作者: 【 】 浏览:1
Tags:字符串 分割 HDUOJ 2072

1. C++ 的boost库里有直接的分割函数split,可以将字符串按照指定的分割规则分割成字符串数组,类似Java。


具体使用参考:http://stackoverflow.com/questions/5734304/c-boost-split-string


2. 如果不使用boost库的话,可以使用里面的strtok函数进行字符串分割。


具体函数使用见:http://www.cplusplus.com/reference/cstring/strtok/


下面附上HDUOJ 2072的源代码,思路就是将每行的字符串按照空格分割成字符串数组,然后统计有多少个不同的字符串,这个时候刚好可以利用C++ STL里set这个类,相同的字符串只会存储一个。


#include
#include
#include
#include
#define PI 3.1415927
using namespace std;


int getNum(string s) {
set str;
const char *d = " ";
char *p;
p = strtok(const_cast(s.c_str()), d);
while(p) {
str.insert(p);
p = strtok(NULL, d);
}

return str.size();
}


int main()
{
string s;
while(getline(cin,s)) {
if(s=="#") break;
cout << getNum(s) << endl;
}
return 0;
}


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C++ 对象构造与析构以及内存布局 下一篇MATLAB下的程序调试

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·请问c语言刚入门,该 (2025-12-26 10:21:04)
·python 编程怎么定义 (2025-12-26 10:21:01)
·09-指 针 (一)-c语言 (2025-12-26 10:20:58)
·About - Redis (2025-12-26 08:20:56)
·Redis: A Comprehens (2025-12-26 08:20:53)