帮忙设计一款字典的数据结构
设计一款字典的数据结构,说明如下
① 大部分的数据类型为TLV形式,即Tag,length,value(value内部数据为嵌套形式,即value内部的数据也可能为TLV、TV、TVV的形式)。
② 一部分特殊数据为Tag,value形式,即没有length,这些特殊标识的Tag和length记录在一个特殊的数组内。
例如:a[10]={1,20,2,40,3,40,4,50,5,50}这样就是tag为1时长度为20,tag为5时,长度为50
③ 还有一部分数据为Tag, value, value…形式,即value为多个,这些特殊标识的Tag和 value数目也记录在一个特殊数组中。
例如:a[6]={11,3,22,4,33,5}这样就是tag为11时value有4个
④ Tag固定用2位整数表示, Length数据长度不一定是整个Byte,即当出现Tag, value, value…形式的数据时可能value占用了4个bit。
我设计的是如下这样的,但是不能满足需求
class DicProfile
{
public:
char* name_; // Tag
unsigned int lenByte_; // byte length
unsigned int lenBit_; // bit length
};
class DicStruct
{
public:
DicProfileList eleList;
}