编程论坛
注册
登录
编程论坛
→
数据结构与算法
<数据结构>顺序表
鹿言弓
发布于 2012-11-14 22:19, 481 次点击
在《数据结构》(严蔚敏)书中讲的顺序表,它是通过申请一大片空间后,来进行操作的。那这个该如何实现“随机存取”。书中的算法直接引用的数组L.elem[i-1]
6 回复
#2
azzbcc
2012-11-14 23:18
所谓随机存取:
假如长度为10 的线性表,现在我们要存储(或取用)第 5个数据,通过顺序表可以直接用 L.elem[5]存取
但如果是链式表,就只能从头开始一个一个的找,找到第 5个后用p->data存取
#3
雨缘桃思
2012-11-15 00:13
呃呃呃,,随机存储,,顺序表的优点么?就是你想访问哪个数据,存到哪个数据都可以直接存取。就像LS说的,可以随便存,因为顺序表每个元素的地址都是可以提前知道的。比如说L.elem[i]每个元素都占2个字节,L.elem[1]的首地址是2000,L.elem[2]的首地址就是(2000+2*1),L.elem[3]就是(2000+2*2);如果是链表的话,后一个元素地址存在前一个元素指针域里面,你找L.elem[3],就得先找到L.elem[1];然后找到L.elem[2],再从L.elem[2]找到L.elem[3].就是顺序表是整齐排列,而链表不是
#4
雨缘桃思
2012-11-15 00:15
回复 2楼 azzbcc
我是菜鸟,,,说的比较啰嗦啦,,,编程能力也不行,你给看看,我说对了么?,,,
#5
鹿言弓
2012-11-15 13:15
看来真心是我表达能力有点差,我知道随机存取的定义呀,我只是想问怎样去随机存取
。本来嘛,在C语言中,是定义一个数组就搞定了。而在数据结构中,他是申请一个空间进行,为啥就可以直接采用L.elem[i-1],我测试过的,这样不行,反正我是彻底迷茫了。。。。
#6
azzbcc
2012-11-15 14:47
这个,,可以直接用啊!!
#7
鹿言弓
2012-11-15 21:16
可是为什么写代码,进行调试时那个地方要报错呢。
1