如何提升txt文件的查找速度? 有一个txt文件,每条记录的长度都是固定的,格式也是固定的。会不停的写入,删除,查找。现在需要对这个文件的第N列进行查找,防止出现重复的现象。在单线程的情况下,如果提高写入,删除,查找的速度? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 CreateFileMapping??可是终端机上不支持...能不能从算法上优化?我现在的方法就是顺序查找。如果,用二分去做,查找很快,但是,如果要插入一条记录就苦逼了 这个问题没有简单有效的方法。如果用vector,可以二分查找,但插入肯定慢。用list,插入快,但不能二分查找。如果你愿意写代码的话,数据用list组织,然后,给数据表用vector建立一个索引表,用于查找。 以TXT文件第N列为标准建立一个索引文件,用于辅助查找。 根据某些行关系,建立个索引文件,http://www.it165.net/pro/ 第一:做成MapFile,这样就是内存操作第二:最好将行的概念做成定长(比如1024),方便定位,减少更新成本第三:如果需要快速,就要引入索引的概念,将行数据摘要为索引,保存在一个单独的文件,供查询定位要快,不管愿不愿意,都需要引入数据库的方法:内存操作、结构化数据、索引... 1. 可以考虑小型文件型数据库,比如开源的sqlite2. 如果代码空间不够的话,和楼上各位说的一样,建立数据项的索引,文件指针偏移与数据项的对应关系,就可以快速访问此文件中的数据了.文件中的数据可以不按顺序存储,只同内存中索引有序.这样文件中的项的删除和插入都不用关心文件中具体的数据位置了. 使用CStatic::SetBitmap()的图片的载入问题 VC编译问题 文件读写 题目:输入某年某月某日,判断这一天是这一年的第几天? 关于ASP调用COM的问题,高手帮忙,急 求救: 帮忙程序到底哪错了 请问什么是sdk 在MFC6下做报表打印。除了水晶报表还有别的办法吗? MFC程序开启久了会变慢 哪位大虾英语比较好,帮帮小弟吧!!! 按键消息被输入法拦截 VK_PROCESSKEY windows下封装静态库为动态库
CreateFileMapping??可是终端机上不支持...
能不能从算法上优化?我现在的方法就是顺序查找。如果,用二分去做,查找很快,但是,如果要插入一条记录就苦逼了
如果用vector,可以二分查找,但插入肯定慢。
用list,插入快,但不能二分查找。
如果你愿意写代码的话,数据用list组织,然后,给数据表用vector建立一个索引表,用于查找。
http://www.it165.net/pro/
第二:最好将行的概念做成定长(比如1024),方便定位,减少更新成本
第三:如果需要快速,就要引入索引的概念,将行数据摘要为索引,保存在一个单独的文件,供查询定位要快,不管愿不愿意,都需要引入数据库的方法:内存操作、结构化数据、索引...
2. 如果代码空间不够的话,和楼上各位说的一样,建立数据项的索引,文件指针偏移与数据项的对应关系,就可以快速访问此文件中的数据了.
文件中的数据可以不按顺序存储,只同内存中索引有序.这样文件中的项的删除和插入都不用关心文件中具体的数据位置了.