文档保存数据:
组1:1,2,3,4,5,90,200,...656582255...n数值为由小到大
组2:1,6,7,90,100,200,......n 数值为由小到大
组3:100,200,3494,.....n
.
.组n:
(组可能无限多)
要求1:
快速插入,如果有新数据要新增,如120,能最快的插入到所在位置。要求2:
快速对比,找出两组同时出现的数字,如组1和组2。采用你认为最合理的存储结构及算法设计以上需求。
哪位大侠能给出完整代码实现呢 谢谢大虾了!

解决方案 »

  1.   

    第一个问题:这种按顺序排列的数据二分法查找是比较划得来的,找到位置后插入就简单了,算法google一下一大堆
    第二个问题:http://topic.csdn.net/u/20100426/15/1d7baa61-e76b-4f45-bd12-b98d83cd90b9.html可以参考
      

  2.   

    用N个数组放入内存处理,我觉得是最快的了.现在计算机用得上,别怕,干他个CPU和内存.硬盘扔一边去吧
      

  3.   

    文档txt格式 跟高手讨论下细节  自己编的bug太多 
      

  4.   

    我的想法是这样,将大文件按每一百行分开存储,根据指定的row 计算页号和行号int pageNum = row / 100; int rowNum = row % 100;然后将查找到的行放入数组进行插入和对比!但是细节有很多问题!
      

  5.   

    不要自己去想啦,用ArrayList就OK!