论坛首页    职业区    学术与写作    工程技术区    软件区    资料区    商务合作区    社区办公室
 您好! 欢迎 登录注册 最新帖子 邀请注册 活动聚焦 统计排行 社区服务 帮助
 
  • 帖子
  • 日志
  • 用户
  • 版块
  • 群组
帖子
  • 1535阅读
  • 6回复

大家看下这个代码是什么意思? [复制链接]

上一主题 下一主题
离线gwq50
 

发帖
45
土币
2568
威望
16
原创币
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2013-07-05
回复本帖可获得30个土币奖励!
每人最多可获奖1次,奖池剩余0个土币 (中奖几率90%)
是一个关于存储X=10面上节点的地址的命令,我摘录了其中的一段:
table 1
def find_add
head = null
p_gp = gp_head
loop while p_gp # null
x_pos = gp_xpos(p_gp)
if x_pos = width then
new = get_mem(2)           <-------?这个是什么意思
mem(new) = head            <-------?这个是什么意思
mem(new+1) = p_gp       <-------?这个是什么意思
head = new                     <-------?前面已经head=null,这里怎么又head=new了?
endif
p_gp = gp_next(p_gp)
endloop
end
set width=10.0
find_add
求解答
离线953745679

发帖
2462
土币
2847
威望
67
原创币
0
只看该作者 1楼 发表于: 2013-07-06
回帖奖励+ 30
看不懂,想学习一哈
离线fzjz12

发帖
30
土币
194
威望
14
原创币
0
只看该作者 2楼 发表于: 2013-07-10
回帖奖励+ 30
我也碰到类似的,求指点
离线dreamboyojoy

发帖
37
土币
11
威望
0
原创币
0
只看该作者 3楼 发表于: 2013-07-27
才疏学浅,帮不上忙,抱歉啊!
离线yuanmu

发帖
5
土币
96
威望
0
原创币
0
只看该作者 4楼 发表于: 2013-07-28
回帖奖励+ 30
1.第一次循环时
new = get_mem(2)    开辟了存放两个fish变量的内存,表的首地址付给new
mem(new) = top_head   把top_head的值(实际为空地址)存到所开辟的第一个内存地址中
mem(new+1) = gp_pnt   把gp_pnt 的值存到第二个内存地址中
top_head = new             把第一次所开辟的内存地址付给top_head


第二次循环
new = get_mem(2)    开辟了存放两个fish变量的内存,首地址付给new
mem(new) = top_head   把top_head的值(实际为上一次开辟内存的首地址)存到这次第一个内存地址中
mem(new+1) = gp_pnt   把gp_pnt 的值存到第二个内存地址中
top_head = new             把第二次开辟内存的地址付给top_head

以此类推,可知,
通过循环得到这样一个链表,第一列放上一个所开辟内存的地址,第二列存放满足条件的gp_pnt  
离线Domidomi

发帖
4
土币
98
威望
0
原创币
0
只看该作者 5楼 发表于: 2013-07-29
回帖奖励+ 30
哈哈,希望大神指点呀
离线忘色鬼

发帖
290
土币
3862
威望
26
原创币
0
只看该作者 6楼 发表于: 2013-07-30
现在正在学习这个软件,但是还没涉及到这样的代码,希望以后能帮到楼主
勤奋、严谨、求实、进取
快速回复
限100 字节
温馨提示:欢迎交流讨论,请勿纯表情、纯引用!
 
上一个 下一个

      浙公网安备 33010602003799号 浙ICP备14021682号-1

      工业和信息化部备案管理系统网站