| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 423 人关注过本帖
标题:数据结构之单链表概述 此为基本
只看楼主 加入收藏
zhu224039
Rank: 8Rank: 8
等 级:贵宾
威 望:17
帖 子:862
专家分:792
注 册:2012-7-29
结帖率:59.52%
收藏
已结贴  问题点数:20 回复次数:2 
数据结构之单链表概述 此为基本
必要 硬件知识
物理地址形成 基地址+偏移地址
请回顾数组和指针部分知识

数组的在内存中存储状态 是连续的 其下标即为地址的位置   比如说数组a[10],那么他就个10个存储单元在内存中,是连续的,编号集合{0,1,2,3,4,5,6,7,8,9}  对数组的引用就是  a[0] a[1] a[2].........a[10]  此时 a[0]就是数组a的基地址   偏移量就是数组的下标。
这是数据组织的一种方式,用连续的地址形成一个 数据段
优点是:对数组元素的读写 比较快捷
缺点是:大小固定灵活性差,对数的删除 数的插入的修改动作方面差
        不能充分利用内存空间

另一种组织形式 就是 用不连续的地址形成 一个数据段,也就是链表
链表的数据结构
特点
1.数据部分是由自己根据实际需要进行自定义的
2.除数据部分外,必须有一个存放 下一个数据存放位置的 地址指针,为引用下一个数据做准备。也就是书上说的 *next 指针。可以在数据结构中定义多个指针。这也是 双链表 循环链表  十字链表  树 图 等等 数据结构 演化出来的基本

关于链表的操作部分
1.创建
也就是开辟一个节点,衔接节点,节点的初始化 分为三步完成的  其中心是 next指针 指向问题,其目的是 由一个 节点 能够找出下一个节点位置
p1->next=p2  这个就是这个目的
2.修改特点条件的数据
读取节点,比较特定条件 二个过程   
读取节点
while(p->next!=NULL)
{
p=p->next;
}
这个是基本的结构,读取了节点信息 用来做什么  就可以在这个循环体 加入你要完成的动作了 也就是特定条件的满足

特定条件的修改 分 插入 删除 等等
1.插入
    要插入,就要能确定插入点。 就要得找出满足插入的条件,这个是写程序的第一个步奏 抽象出条件判定
    通过上面说的读取节点 步奏 比对条件,找出节点后 就是插入动作  对于单链表来说 插入点只能是某某元素之后,具体原因自己动脑经
    p2插入在p1之后
    其基本代码
    p2->next=p1->next    其目的是 让 p2的下一个节点是p3
    p1->next=p2
2.删除部分   
   其实现过程为,查找待删除元素过程中 记录下正在条件比对节点p2的上一个节点信息p1 找到要删除节点P2后
   现在 p1是已知的
   基本代码为
   p1->next=p2->next  
   接着就是free点p2


链表的相关属性

表头 head
表尾 next=null
表长 节点的个数

这个链表的属性 可以单独 建立一个数据 予以保存。保存属性项  表头  表长

说白了
链表    数组的动态表现
数组    链表的静态组织
不管是链表和数组 都是 一个指针的问题,是一类的问题

个人观点,老师是个活物,书是个死物,自己是主宰,不管是活物还是死物,自己主宰了,自己才算是个活物
当然计算机是老大它说的算,这个得诚服

以上为个人学习方法,也是从书本模仿别人的思维而来的。希望能给各位带来一些学习方面的经验
   




[ 本帖最后由 zhu224039 于 2012-9-27 10:55 编辑 ]
搜索更多相关主题的帖子: 知识 元素 
2012-09-27 10:52
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:10 
哦?看来楼主要长期发教学帖了~
2012-09-29 07:48
allenz0810
Rank: 2
等 级:论坛游民
帖 子:44
专家分:38
注 册:2012-9-3
收藏
得分:10 
楼主 我是数据结构的新人 但是我看删除觉得很简单 但是看你的插入有点难懂

其基本代码
    p2->next=p1->next    其目的是 让 p2的下一个节点是p3
     p1->next=p2

这里的意思是说 给我的感觉像是把 P2 = P3 然后插入到 P2 是不是?
2012-09-29 09:51
快速回复:数据结构之单链表概述 此为基本
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.100847 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved