幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
12
返回列表 发新帖
楼主: august

[通用编程] 再来顺序表

[复制链接]

20

主题

197

帖子

2641

积分

⑥精研

积分
2641
QQ
发表于 2007-6-8 17:29:08 | 显示全部楼层
Sorry.........看错了.....
签名要少于60,SO,i haven't upload my pic
回复 支持 反对

使用道具 举报

7

主题

190

帖子

1766

积分

⑥精研

....

积分
1766
发表于 2007-6-8 17:34:55 | 显示全部楼层
[s:4] 呵呵,别在意: )一样的,开始我也在这里迷糊了好久,呵呵,vector中第一个元素索引是0,他传的参数却是1 ..[s:5]
萝卜啊,白菜啊,土豆星啊,梦想有爱啊。
回复 支持 反对

使用道具 举报

313

主题

1574

帖子

1万

积分

⑧专业

*永恒国度*

积分
14145
QQ
 楼主| 发表于 2007-6-9 04:58:10 | 显示全部楼层
vector   Stack这些到底是什么东东。。。 [s:6]  [s:6]
[img][/img] http://shop33698673.taobao.com被别人嫉妒,证明你优秀,嫉妒别人说明你无能
回复 支持 反对

使用道具 举报

7

主题

190

帖子

1766

积分

⑥精研

....

积分
1766
发表于 2007-6-9 21:32:41 | 显示全部楼层
[s:5] 你现在做的就是个Vector,和链表不同的是,他是物理内存连续的,所以呢,你完全不需要任何的指针去记录下一个数据的地址,因为连续,所以允许你直接进行迭代器的++运算.就能找到下一个数据.
例如,内存保存是这样的 01 02 03 04...  所以,只要你找到了01,下一个地址一定是02,直接迭代指针++就可以找到下一个地址.
但是List本身物理内存地址不连续,所以其结构内必须保存下一个数据的地址.
例如,内存保存是这样的 01 XX XX ...  ... XX 02 XX XX ... 03 ...
也就是说01之后,未必数据一定是02,可能是其他块的数据,所以,必须用->next指针去记录下一个数据的地址.
Stack是堆,和Queue队列对应的就是LIFO和FIFO了
意思就是说,Stack是L ast In First Out(后进先出),Queue对应的是First In First Out(先进先出).
怎么理解呢?先说队列吧,我们上公交车,要排队,现在上车了,按一般道理来说,就是先排队的先上车.
后来的自然是后进行处理,这就是队列,我们的插入是从队尾开始的,而真正数据调用时,则是从队首开始的,包括排序,查询,删除,全是从队首将数据一个一个取出,进行处理,再从队尾插入的.
Stack则正好相反,他可以想象为一个很窄死胡同,最先进入的人,是最后才能出来的,最后进入的人,可以第一个出来,这就是后进先出.
恩,详细的这东西,还是看专门的数据结构书吧,呵呵,我就自己的理解简单说了说,了解大概就好  [s:1]
萝卜啊,白菜啊,土豆星啊,梦想有爱啊。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|幻想森林

GMT+8, 2024-4-29 15:02 , Processed in 0.027662 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表