回 帖 发 新 帖 刷新版面

主题:[讨论]关于大数据寻址???

例如下面(16进制的字节数据):
00 00 00 10 00 00 00 10 00 00 00 10 00 00 00 10 00 00 00 10

假设我要以 10h 做一个分割点把上面  数据分成5个段(但是又不分配内存来存储这些段的数据,将用上面的数据做存储单位)

如果类似上面的数据有成千上万的字节构成(而且每个段的字节数量都不一样),而我想按照段的方式区出或写入指定  段的第N个字节  那个改怎么快速的寻址呢?

回复列表 (共6个回复)

沙发

高手 都放假拉??

板凳

Sorriest!!!
没有人能看懂......
是不是可以用单向链表???结构:
下一个数据地址 数据长度 数据(不定长)

3 楼

再用一个表头来做索引?

4 楼

我的意思是类似自己写个支持多行和写出文件(.txt)编辑筐控件!!!!

编辑筐的数据就直接以写出的数据存储的(类似下面),
00 00 00 0D,0A 00 00 00 0D,0A 00 00 00 0D,0A 00 00 00 0D,0A 00 00 00 10

但是在我修改编辑筐的数据的时候(假设我要修改第2行的第2个字节),

就必须对编辑筐的数据先进行循环判断来确定第2行的第2个字节具体是在这段数据的第几个位置?如果这个数据大的话,这样寻找修改位置起不是非常没效率!

如果用数组来保存1行分配1个数组,这样做读写速度是快了,但写出文件的时候要吧这么多数组给拼接起来,也非常没效率!

再如果是给这些数据定义一个表数组,存储每行的头个字节地址,但如果我在第1行内增加或删除1个字节数据,那不是要把后面的每个,用来定位的表数组存储地址都要+1或-1,这样也非常没效率

我想了好久都想不到怎么样可以高效率的,以第几行第几咧的方式取得指向数据的真正位置

5 楼

定位行列为嘛用循环,直接给出位置(坐标)不就行了。

6 楼

首先新的一年祝大家身体健康,恭喜发财!



看来就只这几种方法啦??? 最可行的就只有 用循环判断来定位????

就没有个比较理想的方法了吗!!希望高手指点

我来回复

您尚未登录,请登录后再回复。点此登录或注册