发布于 2012-07-10 12:35:33
1楼
可以,可以。我想操作系统读写硬盘的数据也是通过这样的一个办法去找数据的。数据实体在一个很大的区域里面。数据的目录在一个很小的角落里面。找数据的话就在这个角落上先知道数据在哪里才起程去找。
现在可以用间接寻址的办法。把最终地址的偏移保存到一个字里。比如vd1000就把1000记录到vw5000里。要读取vd1000的话就可以在间接寻址之前把vw5000里面的值扩展一个16#800作为字头把整个扩展后的结果作为间接寻址的指针去读取。
这样的话当排序的时候或许不需要移动数据,而是移动目录里面的索引。当你去找最大值的时候,索引告诉你那个是最大值的地址,这个地址里面的数就是最大值。