数据的结构:
A
B , C , D .....
B1 B2 B3 , C1 C2 C3 ,D11 D2 D3 D4.....
数据在文本里形式:
A 40 B 12 B1 3 1 2 3 B2 2 1 2 B3 1 1 C 13 C1 1 1 C2 2 1 2 C3 3 1 2 3 D 12 D1 1 1 D2 1 2 D3 1 1 D4 1 1
说明 :
A是标签 40表示 后面40个字节是 A的值长度 (从B 到D后面的那个 1 1 每个数字一个字节)
B表示第一个节点
12 表示后面12个字节是B的值长度(从B1到C前面的那个1) 如果12 +1(B标签所占的字节)=40 那么表示A下面就只有一个节点B 否则表示还有其他(例如C D )
B1 表示B下面的第一个标签
3 表示后面3个字节是B1值得长度
1 2 3 表示B1的值
如果3(3个字节)+1(3所占的字节)+1(标签B1所占的字节)=12 那么表示B 下面只有一个B1 否则。
12>1+1+3 所有表示还存在B2
。
12=1(B1所占字节)+1(B1长度3所占字节)+3(B1值所占字节)+1(B2)+1+2+1(B3)+1+1
。
40>1(B所占字节)+12(B的总长度)
所有存在C 和D -------------------------------
这些数据我要读取 储存
问题是我要储存在哪里 MAP? tree? 数组???
具体怎么做呢。给个思路 顺便给个最简单的 A(BCD(D1 D2))的一个例子我都没用用过MAP TREE
A
B , C , D .....
B1 B2 B3 , C1 C2 C3 ,D11 D2 D3 D4.....
数据在文本里形式:
A 40 B 12 B1 3 1 2 3 B2 2 1 2 B3 1 1 C 13 C1 1 1 C2 2 1 2 C3 3 1 2 3 D 12 D1 1 1 D2 1 2 D3 1 1 D4 1 1
说明 :
A是标签 40表示 后面40个字节是 A的值长度 (从B 到D后面的那个 1 1 每个数字一个字节)
B表示第一个节点
12 表示后面12个字节是B的值长度(从B1到C前面的那个1) 如果12 +1(B标签所占的字节)=40 那么表示A下面就只有一个节点B 否则表示还有其他(例如C D )
B1 表示B下面的第一个标签
3 表示后面3个字节是B1值得长度
1 2 3 表示B1的值
如果3(3个字节)+1(3所占的字节)+1(标签B1所占的字节)=12 那么表示B 下面只有一个B1 否则。
12>1+1+3 所有表示还存在B2
。
12=1(B1所占字节)+1(B1长度3所占字节)+3(B1值所占字节)+1(B2)+1+2+1(B3)+1+1
。
40>1(B所占字节)+12(B的总长度)
所有存在C 和D -------------------------------
这些数据我要读取 储存
问题是我要储存在哪里 MAP? tree? 数组???
具体怎么做呢。给个思路 顺便给个最简单的 A(BCD(D1 D2))的一个例子我都没用用过MAP TREE
解决方案 »
- 抓包后如果修改IP包中的源IP地址?并实现转发?
- 如何把按钮放到工具栏上
- 将写好的类封装为DLL文件
- ocx中如何加入一个Rectangle??
- 我在使用 CStringArray::RemoveAll()方法的时候 有时候会出现错误,不知道使什么原因?
- "无法找到DLL"怎么解决?(在线等待)
- 什么是多实例,如何支持多实例?
- 真高兴,大家都来捧场阿,来者有分。/
- 我在做一个俄罗斯方块的游戏有一些问题请教各位大虾??????
- 点击CTreeCtrl的一个节点旁的"+"时会调用OnItemexpanding()函数,
- 关于hook com,还差一点就成功了!
- 我觉得windows的API文件操作没有C语言的文件操作方便,不知道大家怎么看
可以定义这样的结构来存储
#define MaxTreeSize 100 //向量空间的大小,由用户定义
typedef char DataType; //应由用户定义
typedef struct{
DataType data;//结点数据
int parent; //双亲指针,指示结点的双亲在向量中的位置
}PTreeNode;
typedef struct{
PTreeNode nodes[MaxTreeSize];
int n; //结点总数
}PTree;
PTree T; //T是双亲链表
若T.nodes[i].parent=j,则T.nodes[i]的双亲是T.nodes[j]。
我想问的就是这么创建的。