您当前的位置: 首页 >  数据结构

柳鲲鹏

暂无认证

  • 0浏览

    0关注

    4642博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

推荐一种优秀的数据结构技巧

柳鲲鹏 发布时间:2018-06-27 08:05:59 ,浏览量:0

  这几天调试一个摄像头,看到文档时一皱眉:这格式难免太原始了点。

怎么就原始了?

  首先,直接定义数据结构为4096字节。不管数据多少,每次都发这么

多。功能当然也能完成,就是显得……不够专业。

  然后呢,在文档中规定字串长度数字。有程序员会问了,这不是很常

见的做法吗?当然很常见。跟第一个问题一样,咱内容少了能不能省点?

如果长度不够,怎么办?

  数据结构是顺序定义的。如果顺序变化了,这不整个乱套了吗?

 

  以前专门研究过微软文档(没错,就是WORD文件)的存储格式,名叫

结构化存储方式。因此对数据结构有一点心得,这里就提出来,供需要的人

参考:

  结构中的数据单元,有定长和变长两类。

  定长单元,采用类型+值的方式。比如说bool、int。

  变长单元,由类型+长度+内容的三元组成。这样数据多少都不影响使用

方的处理代码。

  顺序问题怎么解决?尽量采用键+数据单元的方式。为什么呢?这样可以

避免顺序、缺少、增加等产生的问题。在新旧版本兼容上也容易处理。这里的

KEY也不一定用字串,也可以用一个int来表示。

  这个数据结构有什么好处?这样做的好处就是,把数据结构与内容分开,

这边数据内容的变化,对方解析数据这部分代码完全不用改,只是决定是否要

处理。

 

  需要补充的是,在告知对方数据结构的时候,一定使用int32/short16这样

的形式。在不同系统上,int长度是不一样的。

 

  有朋友一看,这个好,马上改?这里特别提醒的是,每次设置新数据

结构,都先考虑兼容问题。新旧同时支持,旧的逐步淘汰。

关注
打赏
1665724893
查看更多评论
立即登录/注册

微信扫码登录

0.6109s