线性表7

让编程改变世界

Change the world by program


单链表的整表创建

对于顺序存储结构的线性表的整表创建,我们可以用数组的初始化来直观理解。 而单链表和顺序存储结构就不一样了,它不像顺序存储结构数据这么集中,它的数据可以是分散在内存各个角落的,他的增长也是动态的。   对于每个链表来说,它所占用空间的大小和位置是不需要预先分配划定的,可以根据系统的情况和实际的需求即时生成。 人生就要追求向单链表一样,灵活应变!   创建单链表的过程是一个动态生成链表的过程,从“空表”的初始状态起,依次建立各元素结点并逐个插入链表。   所以单链表整表创建的算法思路如下:

声明一结点p和计数器变量i; 初始化一空链表L; 让L的头结点的指针指向NULL,即建立一个带头结点的单链表; 循环实现后继结点的赋值和插入。

头插法建立单链表

头插法从一个空表开始,生成新结点,读取数据存放到新结点的数据域中,然后将新结点插入到当前链表的表头上,直到结束为止。 简单来说,就是把新加进的元素放在表头后的第一个位置:

先让新节点的next指向头节点之后

然后让表头的next指向新节点

嗯,用现实环境模拟的话就是插队的方法,始终让新结点插在第一的位置。

动画演示:详见视频分析

我们说好的代码呢?

CreateListHead.c

尾插法建立单链表

头插法建立链表虽然算法简单,但生成的链表中结点的次序和输入的顺序相反。 就像现实社会我们鄙视插队不遵守纪律的孩子,那编程中我们也可以不这么干,我们可以把思维逆过来:把新结点都插入到最后,这种算法称之为尾插法。(小甲鱼给这个算法想到一个容易记住的艺名,叫“菊花”) 好,那我们接下来就结合欢乐的动画一起来理解理解菊花的内涵吧~

动画演示:详见视频分析

我们说好的代码呢?

CreateListTail.c

[buy] 获得所有教学视频、课件、源代码等资源打包 [/buy] [Downlink href='http://kuai.xunlei.com/d/BdsUAwofVQCHkxNRe6b']视频下载[/Downlink] [Downlink href='http://urlxf.qq.com/?7vANFnZ']备胎下载[/Downlink]

转载于:https://www.cnblogs.com/LoveFishC/archive/2012/11/05/3846269.html

线性表7 - 数据结构和算法12相关推荐

  1. 线性表9 - 数据结构和算法14

    线性表9 让编程改变世界 Change the world by program 静态链表 这一节课,我们试图通过静态链表的讲解来瞻仰古人的伟大!(似乎人总要挂了之后才能变得伟大~_~) 神马是静态链 ...

  2. 线性表顺序存储结构操作算法

    线性表顺序存储结构操作算法 ** 顺序表的初始化 线性表的插入算法 线性表的删除算法 线性表的查找算法** 根据书本的知识线性表顺序存储结构的操作算法其实是我们刚进入数据结构与算法的必修课 其实算法无 ...

  3. php数据结构之线性表,php数据结构之顺序链表与链式线性表示例

    本文实例讲述了php数据结构之顺序链表与链式线性表.分享给大家供大家参考,具体如下: 链表操作 1. InitList(L):初始化链表 2. DestroyList(L):删除连接 3. Clear ...

  4. 数据结构 线性表java_java数据结构--线性表

    一.线性表基本概念 线性表是其组成元素间具有线性关系的一种线性结构,是由n个数据类型相同的元素构成的有限序列.其具有"一对一"的逻辑关系,与位置有关,除了头尾元素之外,每一个元素都 ...

  5. mysql 线性表_数据结构之线性表

    概要 参考<大话数据结构>,把常用的基本数据结构梳理一下. 线性表 定义 线性表(List):零个或多个数据元素的有限序列. 若将线性表记为 \((a_1, \cdots, a_{i-1} ...

  6. 线性表:顺序队列算法实现

    顺序队列介绍 顺序队列是队列的顺序存储结构,顺序队列实际上是运算受限的顺序表.我们知道队列是一种先将先出的数据结构,它是一种受限制的线性表,我们的顺序队列是一种队列,采用的是顺序存储结构.与其对应的是 ...

  7. python hash表_python数据结构与算法——哈希表

    哈希表 学习笔记 参考翻译自:<复杂性思考> 及对应的online版本:http://greenteapress.com/complexity/html/thinkcomplexity00 ...

  8. c语言构造一个空线性表l,数据结构线性表顺序结构的定义与实现C语言-Go语言中文社区...

    大家好,今天给大家总结了一下数据结构里面的线性表的顺序结构,顺序表表示的是用一组地址连续的存储单元依次存储线性表的数据元素,所以顺序结构的实现一般采用数组的方式来实现,存储空间也采用动态分配的方式.在 ...

  9. c语言线性表拷贝,数据结构(C语言版)---线性表顺序存储表示

    1.顺序表:线性表的顺序存储,用一组地址连续的存储单元存储线性表中的数据元素. 1) 特点:随机访问,即通过首地址和元素序号可在时间O(1)内找到指定元素. 表中元素的逻辑顺序与其物理顺序相同,线性表 ...

最新文章

  1. Code Rally 2015 编程锦标赛启动,智能手表,iPad 大奖等你来拿!
  2. linux操作系统信号捕捉函数之回调函数小结
  3. github ssl验证跳过
  4. I2C总线学习—查缺补漏—对数据有效性的思考
  5. C++_函数_函数重载注意事项_---C++语言工作笔记035
  6. simpana oracle,华为认证云运维专家(HCIE-CDO)
  7. BERT模型—6.对抗训练原理与代码实现
  8. java ppt转图片 失真_java poi 实现ppt转图片(解决图片不高清问题)
  9. cyj等于什么英语单词_CYJ是什么意思
  10. 谷歌地图 地点搜索(模糊搜索)
  11. 杂评 360和腾讯之争
  12. 打开计算机出现服务器运行失败,win7打开Windows Media Player听歌提示“服务器运行失败”怎么办...
  13. 为什么Windows的文件名不能超过255个英文字符,求解答
  14. pat甲级考试报名费_2019吉林省公务员考试笔面心得
  15. windows C 调用音频输出设备 实现播放
  16. centos7的syslog知识点
  17. 学编程的人那么多,到底编程的出路在哪?
  18. [英语六级] 六级通关笔记 — 翻译题
  19. 【笔试与面试】中软国际
  20. 《马伯庸笑翻中国简史》

热门文章

  1. winform 填充圆形 锯齿_Qt项目中,三种图形渐变填充方式详细总结
  2. 吸收塔如何提高吸收率_想让肌肉生长得更好,蛋白质的补充很重要,如何选择你知道吗?...
  3. oracle rac 高并发性能_Tomcat 高并发之道原理拆解与性能调优
  4. python和c的语法区别_python与c语言的语法有哪些不一样的
  5. 动态添加表格点击事件
  6. 复习vue笔记第一天
  7. cannot set up a python sdk 3.8_anaconda+pycharm环境下创建新的虚拟环境报错Cannot set up a py...
  8. 库卡机器人是s7编程_KUKA工业机器人与S7-1200PLC实现Profinet通讯步骤详解图文版
  9. mac双系统时间不统一的解决方法_墨兰不开花最好解决,教你几招好方法,时间一到就窜花芽...
  10. linux下查看mysql数据库的字段类型_系统运维|[小白技巧]如何在Linux上检查MySQL数据表的存储引擎类型...