Chinaunix

标题: 读取文件记录并根据字段对记录去重和排序 [打印本页]

作者: zneilnet    时间: 2011-03-25 17:01
标题: 读取文件记录并根据字段对记录去重和排序
本帖最后由 zneilnet 于 2011-03-25 22:27 编辑

小弟问一个题目:
     设一个数据表文件包含多条记录,其中每条记录的格式如下:
字段0\t字段1\t字段2\t字段3\t字段4\t字段5\r\n
要求把这些记录读取到内存中并按照字段1(按字符串处理不区分大小写)去重,最后按照字段2的内容从小到大的顺序将记录写到另外的文件(格式与源文件相同)
作者: hellioncu    时间: 2011-03-25 17:18
作业题吧,难道等着人家给你写好?
作者: zneilnet    时间: 2011-03-25 17:41
回复 2# hellioncu


    不是,而且也没想过要源码,只想要个思路
作者: wb112200    时间: 2011-03-25 18:09
你是求代码呢 还是问问题的?

给个思路:

建个结构体 保存下各个字段的内容

然后 读入文件 read()   取出一行 fgets()   解析字段内容 strtok()

然后 链表保存

strcmp() 比较第一个字段

链表排序 比较第二个字段

write()
作者: zneilnet    时间: 2011-03-25 22:26
回复 4# wb112200


    谢谢哈,我是问问题,不是求代码
作者: wb112200    时间: 2011-03-26 10:02
回复 5# zneilnet


    呵呵 客气了..
作者: xunyaodong    时间: 2013-06-26 20:52
请问你解决没有  可以给个代码吗?
作者: _码狗_    时间: 2013-06-29 00:26
本帖最后由 _码狗_ 于 2013-06-29 00:29 编辑

一张哈希表(查重) 一棵红黑树(排序) 妥妥的
作者: bruceteen    时间: 2013-06-29 08:48
读取文件记录
根据 字段1 排序,然后去重
根据 字段2 排序
写入文件

但不知道,你这“去重”的标准是什么?对于 字段1 相同的记录,你留下哪个?还是无所谓哪个?




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2