免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 9302 | 回复: 16
打印 上一主题 下一主题

如何去掉重复的字符串 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-09-19 21:07 |只看该作者 |倒序浏览
一个具有几百万行URL字符串的文件,如果去掉里面重复的URL?

论坛徽章:
0
2 [报告]
发表于 2007-09-19 21:14 |只看该作者
菜单 -> 编辑 -> 代替
输入 URL
回车
OK

论坛徽章:
0
3 [报告]
发表于 2007-09-19 21:20 |只看该作者

  1. #include <iostream>
  2. #include <fstream>
  3. #include <set>
  4. #include <string>
  5. #include <iterator>
  6. #include <algorithm>

  7. using namespace std;

  8. int main()
  9. {
  10.     string      line;
  11.     set<string> uniq_set;
  12.     ifstream    infile("pathname");

  13.     istream_iterator<string> inbeg(infile), inend;
  14.     copy( inbeg, inend, inserter(uniq_set, uniq_set.begin()) );
  15.    
  16.     infile.close();
  17.     ofstream outfile("pathname");
  18.    
  19.     copy( uniq_set.begin(), uniq_set.end(), ostream_iterator<string>(outfile, "\n") );
  20. }
复制代码

[ 本帖最后由 antigloss 于 2007-9-19 21:39 编辑 ]

论坛徽章:
0
4 [报告]
发表于 2007-09-19 21:23 |只看该作者
uniq -u

论坛徽章:
0
5 [报告]
发表于 2007-09-19 21:33 |只看该作者
几百万行的概念: 5*1000*1000*128

论坛徽章:
0
6 [报告]
发表于 2007-09-19 22:06 |只看该作者
unix下,
sort -u

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
7 [报告]
发表于 2007-09-20 09:13 |只看该作者
对每个URL串进行搜索?没想到更好的办法。

论坛徽章:
0
8 [报告]
发表于 2007-09-20 09:59 |只看该作者

回复 #7 aero 的帖子

文件中每一行为一个URL,将文件中重复的URL去掉

论坛徽章:
0
9 [报告]
发表于 2007-09-20 10:26 |只看该作者
原帖由 ivhb 于 2007-9-19 22:06 发表
unix下,
sort -u



嗬嗬,c 的话,可以参考 sort 的src实现。

论坛徽章:
0
10 [报告]
发表于 2007-09-20 10:50 |只看该作者
这样行吗:
建一棵树(二叉树,b树...),把文件中的url读取后存入树中(重复的当然就不用再写入了),读完后重写文件,至于效率我就不清楚了...
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP