社区
非技术区
帖子详情
c++ STL的问题
eskimoer
2013-07-22 01:52:21
尊敬的各位同志,你们好!我现在在做一个程序,里面要用到字符串匹配的东西,要把一个文本集里面的所有文档的词汇和一个词典的词汇进行对比,从而找出词典中这个词汇的重复度,请问有什么高效的算法来解决这个问题
...全文
174
6
打赏
收藏
c++ STL的问题
尊敬的各位同志,你们好!我现在在做一个程序,里面要用到字符串匹配的东西,要把一个文本集里面的所有文档的词汇和一个词典的词汇进行对比,从而找出词典中这个词汇的重复度,请问有什么高效的算法来解决这个问题
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
eskimoer
2013-07-24
打赏
举报
回复
我已经知道怎么做了,是通过map的find函数,巧妙的利用find函数的返回值 map<string,int>mapxx; pair<map<string,int>::iterator,bool> pp; pp = mapxx.insert(pair<string,int>("we",1)); if(!pp.second) { pp.first->second++; } pp = mapxx.insert(pair<string,int>("we",1)); if(!pp.second) { pp.first->second++; } pp = mapxx.insert(pair<string,int>("we",1)); if(!pp.second) { pp.first->second++; }
icosagon
2013-07-23
打赏
举报
回复
boost里的库 tokenizer Xpressive,regex, Spirit 看你什么需求了,里面Spirit最强大,但作为一个框架,理解起来也难一些,编译超级耗时,如果需求较为简单,用regex一般就够了,Xpressive支持regex的所有功能,也支持spirit类似的静态方法,当然没spirit那么强了
Tiger-Su
2013-07-22
打赏
举报
回复
把
和
去掉
Tiger-Su
2013-07-22
打赏
举报
回复
[size=14px]给你写了一个算法,这个是求两个字符数组的匹配情况,符合则返回字符数组a.然而b数组是原数组,a数组和b数组对比,如果符合就 return a。 #include <algorithm> #include <cmath> #include <cstdlib> #include <iostream> #include <string.h> #include <algorithm> #include <cmath> using namespace std; char *chack(char a[],char b[]) //指针函数,返回值可以被输出 { int c=strlen(a); int i=0; char *p=a,*q=b; while(*p!='\0'&&*q!='\0') { if(*p==*q) { *p++; i++; } else *q++; } if(i==c) return a; } int main() { char a[10000],b[10000]; int n,c,k=1; cin>>b; sort(b,b+strlen(b)); cin>>a; sort(a,a+strlen(a)); cout<<chack(a,b); system("PAUSE"); return 0; }
[/size]
91041
2013-07-22
打赏
举报
回复
有这样的算法啊 ++笑纳
ouyh12345
2013-07-22
打赏
举报
回复
map
C++
STL
详解及面试相关重点
问题
STL
(标准模板库)是
C++
核心组件,包含六大模块:容器(如vector、list、map)、算法、迭代器、适配器、仿函数和空间配置器。容器分为序列式(vector/list/deque)和关联式(map/set/unordered_map),
STL
提供通用算法(如sort/find)和迭代器抽象,适配器(stack/queue)扩展容器功能。
C++
中关于
STL
与其案例代码的各种
问题
C++
中关于
STL
问题
以及容器和算法的使用
c++
的
STL
库的内存碎片
问题
如何解决
在
C++
中解决
STL
内存碎片
问题
,除了常规方法外,还有一些更深入或更底层的策略,可以显著减少碎片并提升内存效率。提供了一种标准化的内存管理接口,允许开发者直接控制容器的内存分配策略,结合内存池或预分配的大块内存,从根本上减少碎片。通过上述方法,可以显著降低甚至完全消除内存碎片,但需权衡开发复杂度、可维护性和性能收益。(源自Linux内核)将内存划分为固定大小的块(Slab),每个Slab专门用于特定大小的对象分配。:使用更大的内存页(如2MB或1GB),减少页表项数量,降低TLB缓存失效概率。
应用
C++
STL
以最小堆方法解决Top K
问题
来源:http://www.cnblogs.com/pugang/archive/2012/07/04/2576505.html 应用
C++
STL
以最小堆方法解决Top K
问题
问题
的来源我想不必多言了,很多的面试题中,以及中都有对
问题
的描述,以及相关的解法,写本文的目的是以
C++
STL
的方式用最小堆解法解决这个
问题
。 那么什么是最小堆呢? 其实最小堆
STL
的使用
问题
[
c++
]
问题
描述:在使用
STL
的排序算法时,需要自定义比较函数对象,但不清楚如何正确编写。解决方法:了解比较函数对象的使用方法,可以使用函数指针、Lambda表达式或者自定义的函数对象类(Functor)来实现自定义的比较逻辑。
非技术区
15,445
社区成员
58,111
社区内容
发帖
与我相关
我的任务
非技术区
C/C++ 非技术区
复制链接
扫一扫
分享
社区描述
C/C++ 非技术区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章