




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
这一次是有关链表的总结 许多人对链表很陌生 链表是数据结构的核心内容 我们学的只是其中的一点 多余的内容我也不太清楚 有兴趣的话可以查看有关数据结构的书 下面主要谈谈创建简单的链表是怎么实现的 一 链表是由节点通过指针连在一块的 所以节点是其基本元素 首先创建节点 1 struct Node int a Node next 链表的节点和一般的结构体有点区别 包含两个部分 1 数据域 2 指针域 数据域是根据自己的需要所设计的 上例中 int a 就是数据域的内容 Node next 是指针域的内容 我这个链表是模拟整型数据进栈出栈的过程 书上有个 内容 一般情况下 结构体是不含有本身结构体的变量 例如 struct Node int a Node next 这样就不正确了 具体原因是因为这个结构体没创建成功 不知道其所占空间 系统无法为之分配空间 但是可以使自身的指针型数据 因为无论是何种类型 的指针 其所占空间大小都是 4 个字节 所占空间大小就很明确了 下面我们就具体来实现这个创建链表的过程 添加节点 2 void creat Node cin p a p next Head Head p 数据结构中成这种添加节点的方法叫头插法 自然有对应的尾插法 这里不说 了 注意几个细节吧 1 void creat Node Node next include using namespace std void creat Node cout p a p next Head Head p int main Node head NULL creat head cout a endl return 0 具体可以体验一下 但是由上面我们可以看到 其实在主函数中创建的链表只 有一个节点 算不上链表 那么要想真正的成为一条链 该怎么办 其实在主函数中用 for 循环语句控制即可 例如这样 int main Node head NULL for int i 0 i 5 i creat head cout a endl return 0 这样就可以添加许多数据了 这个创建的是具有 5 个节点的链表 这样真正实 现了链状 好像少了点东西 即遍历链表 我们要把 5 个数据表现出来 这时需要另外设计一个遍历链表的函数 虽然这是个链表 但是你怎么能知道每个数据存放在何处 其实由于是链表 我们只需要知道头节点的位置即可 这就回到结构体的设计 Node next 的 作用就是连接下一个节点 用它来记录下一个节点的地址值 这样我们就清楚 了 主函数中 head 是记录头节点位置的 刚开始时 head 是指向 NULL 的 后 来进入到 creat head 函数中 其指向就改变了 编程指向链表的头节点的位置 这就是引用传递的效果 void creat Node while Head NULL cout a next 这样就可以实现你想查看的数据了 在主函数中这样就可以实现 int main Node head NULL for int i 0 inext delete Head Head p 在主函数中只需要这样实现即可 int main Node head NULL for int i 0 i 5 i creat head show head deletehead head show head return 0 整个代码 struct Node int a Node next include using namespace std void creat Node cout p a p next Head Head p void show const Node Head if Head NULL cout 链表是空 n while Head NULL cout a next cout next delete Head Head p int main Node head NULL for int i 0 i 5 i creat head show head deletehead head show head return 0 这就是一个简单的链表 上面说的不是很清晰 有点模糊 其实理解一下函数 的引用传递就行了 这个是很关键的 补充一点 添加多个节点也可以不用在主函数中用 for 循环语句 只需要这样设计创建链 表的函数就好了 如下 void creat Node i p a p next Head Head p 主函数中调用就可以使这个样子 int main Node head
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 派出所甜品活动方案策划
- 文旅集团主题活动方案策划
- 口述文学数字重构-洞察及研究
- 森林碳汇交易-洞察及研究
- 城市夜景照明光环境模拟-洞察及研究
- 精细物理模型应用-洞察及研究
- 水资源公平分配与国际合作-洞察及研究
- 碳酸钙工厂施工方案
- 机电产品绿色回收与再制造-洞察及研究
- 商务咨询机构整顿方案
- 2025秋七年级语文上册第1单元第4课古代诗歌四首教材习题课件新人教版
- 镁合金课件教学课件
- 2025年动漫艺术概论试题及答案
- 知道智慧树实验室安全与防护满分测试答案
- 成都市辅警真题2024
- 工会经审业务网络知识竞赛题库
- 宁夏易制毒管理办法
- 教学课件文案模板范文
- 要素式强制执行申请书(申请执行用)
- 辽宁省民间信仰管理办法
- 财务信息化系统建设-洞察阐释
评论
0/150
提交评论