免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: 3018857
打印 上一主题 下一主题

数据结构保存问题!急!(高手请进) [复制链接]

论坛徽章:
0
11 [报告]
发表于 2007-10-11 12:14 |只看该作者

回复 #9 JohnBull 的帖子

我想用二进制文件,并且是一个文件来保存!因为我的任务比较急,没时间去弄xml!因为没有接触过。
我的要求是第一个工程关闭后,将整个数据保存下来,然后再启动令一个数据处理的工程来处理数据。
他们之间能约定好数据结构吗?应该没办法吧!比如一个树,最底层的节点每次保存的数目是不同的,如何约定呢?是不是事先把文件分块,然后往里面扔东西,取的时候就按事先的地址来取!???

[ 本帖最后由 3018857 于 2007-10-11 12:15 编辑 ]

论坛徽章:
0
12 [报告]
发表于 2007-10-11 12:22 |只看该作者
用目录表示树。接点内容保存为文件。
保存好后,tar成一个文件。

论坛徽章:
0
13 [报告]
发表于 2007-10-11 13:16 |只看该作者
原帖由 3018857 于 2007-10-11 12:14 发表
我想用二进制文件,并且是一个文件来保存!因为我的任务比较急,没时间去弄xml!因为没有接触过。
我的要求是第一个工程关闭后,将整个数据保存下来,然后再启动令一个数据处理的工程来处理数据。
他们之间能 ...

比如一棵树:
                         1
                    /    |     \
                 2      3     4
             /  | \    / | \     | \
           5   6  7 8 9 10 11 12
那么在一个文件中可以这样存储:
125.6.7..38.9.10..4(11).(12)...
其中.表示该节点已经没有子节点可访问了。
另一个程序在读这个数据的时候就可以重建这棵树。

论坛徽章:
0
14 [报告]
发表于 2007-10-11 13:17 |只看该作者
原帖由 思一克 于 2007-10-11 12:22 发表
用目录表示树。接点内容保存为文件。
保存好后,tar成一个文件。

这个最方便了

论坛徽章:
6
技术图书徽章
日期:2013-11-13 11:11:27子鼠
日期:2014-02-20 17:54:13处女座
日期:2014-06-16 17:43:33午马
日期:2014-08-08 09:11:17未羊
日期:2014-08-10 11:57:072015年辞旧岁徽章
日期:2015-03-03 16:54:15
15 [报告]
发表于 2007-10-11 14:46 |只看该作者
简化成最小生成树,遍历并保存到文件。
读文件重新生成树。

论坛徽章:
0
16 [报告]
发表于 2007-10-11 19:30 |只看该作者

回复 #12 思一克 的帖子

首先,谢谢大家了!真的很高兴能有热心的朋友探讨!

我的结构比较复杂啦,不是树,是b-rep边界表示:

               <-||       solid      ||->
                   /      \       \
                                   \
             <- face->   <-edge ->  \
                 /                   \
         <- ||loop    ||->   \        \   
              /               \        \
        <-||       halfedge    ||-->    \            
                     /                   \
           <-||     vertex                 ||-->      

所以遍历等都比较困难!你们觉得呢?

论坛徽章:
0
17 [报告]
发表于 2007-10-11 19:31 |只看该作者

回复 #15 littledick 的帖子

首先,谢谢大家了!真的很高兴能有热心的朋友探讨!

我的结构比较复杂啦,不是树,是b-rep边界表示:

               <-||       solid      ||->
                   /      \       \
                                   \
             <- face->   <-edge ->  \
                 /                   \
         <- ||loop    ||->   \        \   
              /               \        \
        <-||       halfedge    ||-->    \            
                     /                   \
           <-||     vertex                 ||-->      

所以遍历等都比较困难!你们觉得呢?

论坛徽章:
0
18 [报告]
发表于 2007-10-11 19:32 |只看该作者

回复 #13 cugb_cat 的帖子

首先,谢谢大家了!真的很高兴能有热心的朋友探讨!

我的结构比较复杂啦,不是树,是b-rep边界表示:

               <-||       solid      ||->
                   /      \       \
                                   \
             <- face->   <-edge ->  \
                 /                   \
         <- ||loop    ||->   \        \   
              /               \        \
        <-||       halfedge    ||-->    \            
                     /                   \
           <-||     vertex                 ||-->      

所以遍历等都比较困难!你们觉得呢?

论坛徽章:
0
19 [报告]
发表于 2007-10-11 21:19 |只看该作者
原帖由 3018857 于 2007-10-11 19:32 发表
首先,谢谢大家了!真的很高兴能有热心的朋友探讨!

我的结构比较复杂啦,不是树,是b-rep边界表示:

               
                   /      \       \
                                   \
         ...

不知道b-rep是什么,不懂

论坛徽章:
0
20 [报告]
发表于 2007-10-12 09:10 |只看该作者
原帖由 MMMIX 于 2007-10-10 18:52 发表
将用非线性数据结构保存的数据先线性化, 然后写入文件, 后面的代码要使用这些数据, 将这个过程反着做一遍即可.

BTW, 可以参考通过网络传输通过复杂数据结构保存的数据的实现方法.


怎么样把指针这种东西给线性化呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP