|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 什么是静态链表?谁能帮我解释一下?
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
2518
人关注过本帖
标题:
什么是静态链表?谁能帮我解释一下?
只看楼主
加入收藏
guopeng2324
等 级:
论坛游民
帖 子:11
专家分:15
注 册:2009-6-17
结帖率:
100%
楼主
收藏
已结贴
√
问题点数:20 回复次数:3
什么是静态链表?谁能帮我解释一下?
我在看书的时候,书中提到了静态链表这个概念。但是书中只说了几句,没说的很清楚。我现在就只知道它是用数组来模拟链表。
数组是怎么来模拟链表的?静态链表到底是什么东西?它有什么用处?怎么用?
希望各位高手能为我解答。我先谢谢各位了。
搜索更多相关主题的帖子:
链表
静态
解释
2009-07-16 12:21
举报帖子
使用道具
赠送鲜花
my_sting
等 级:
新手上路
帖 子:57
专家分:4
注 册:2009-6-24
第
2
楼
收藏
得分:4
链表分为两种:动态和静态
动态的结合相关函数能动态开辟内存,特点就是不会浪费内存单元;
静态链表则没有这个优点。
链表不用像数组那样,非得要在内存中连续存放。
假设链表第一个元素的地址是6000,那么第二个元素的地址不用是6001,可以是12012,也可以是其他值。
那么第一个元素如何找到第二个元素呢?
当知道第一个元素后,如果知道了第二个元素的地址,那么便可以找到第二个元素。
所以链表的元素里至少有两个数据:该链表元素本身的值;以及指向下一个元素地址的指针。
只是最后一个元素指向的是 空地址 NULL 。
什么数据类型里面能包含两种以上的数据?
答案就是 结构体
struct people
{
char name[30];
char sex;
int age;
struct people *next;
};
struct people maozedong,jiangjieshi;
希望你能明白
2009-07-16 16:04
举报帖子
使用道具
赠送鲜花
二C在线
来 自:山东济南
等 级:
新手上路
帖 子:8
专家分:9
注 册:2009-5-19
第
3
楼
收藏
得分:4
所谓动态链表就是在程序执行中动态添加结点的链表。一般用Molloc()实现。
而如果一个链表中结点的数目每次运行都是一样的,就是静态的。。。
2009-07-16 17:21
举报帖子
使用道具
赠送鲜花
zhddragon
等 级:
职业侠客
帖 子:208
专家分:346
注 册:2009-5-14
第
4
楼
收藏
得分:4
回复 楼主 guopeng2324
通常是一个二维数组,第一行用来存储数据,第二行作为指示器(随便起的名字,功能上类似于指针)使用。
例如有一个变量int a[2][5],如果值如下所示,且链表的第一个元素为a[0][3]
10 12 29 32 34
4
2
-1
0
1
那么这个链表的第一个元素就是a[0][3],因为a[1][3]=0,所以第二个元素是a[0][0],因为a[1][0]=4,所以第三个元素是a[0][4],如此类推。
身体是玩命的本钱
2009-07-17 18:45
举报帖子
使用道具
赠送鲜花
4
1/1页
1
快速回复:
什么是静态链表?谁能帮我解释一下?
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.037496 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved