自己设计的文件格式是实际上是很方便的.设计一个结构:
Data=record
Key: WideString
Value: WideString;
end;
而存入文件的数据结构可如下:
FileData=record
KeyLen: Integer;
ValueLen: Integer;
end;
结构后面紧接着跟两个数据,这样是可以根据具体数据的大小不浪费文件空间.
读取的时候,顺序读取,当然可以需要一个文件头,标识文件概要信息,譬如记录数量,文件格式标识.
读取数据的时候,在文件头后面是一个FileData结构,读取KeyLen和ValueLen后,紧接着就可以根据大小读取Key和Value 到Data结构中.
而整个表格在内存中可以做成链表.易于维护.
关于查找:
1.可以只做成一个Data链表,用QuickSort排序,然后用二分法查找.
2.可以做成一个Hash表,查找起来比较快,但是存储的时候最好也存储一个Hash Key,否则每次计算Hash Key是比较降低性能的
3. 可以做成 27个Data 链表,分别是A-Z和其它. 然后每一个链表可以使用以上两种方法排序查找.这种方法的好处是在以上两种方法再次降低查找复杂程度,但是加载的时候就需要排断然后分别放置数据,需要你自己试试哪一个综合性能好一点.
我就概要说点,这样或许给你有点帮助!