知识大全 线性表 - 链式存储结构- 单链表的运算(二)

Posted 结点

篇首语:苟利国家生死以,岂因祸福避趋之。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 线性表 - 链式存储结构- 单链表的运算(二)相关的知识,希望对你有一定的参考价值。

  ( ) 尾插法建表

  ① 算法思路

  从一个空表开始 重复读入数据 生成新结点 将读入数据存放在新结点的数据域中 然后将新结点插入到当前链表的表尾上 直到读入结束标志为止

  

>

  具体方法【 参见动画演示 】

  注意

  ⒈采用尾插法建表 生成的链表中结点的次序和输入顺序一致

  ⒉必须增加一个尾指针r 使其始终指向当前链表的尾结点

  ② 具体算法实现

  LinkList CreatListR(void)

  //返回单链表的头指针

  char ch;

  LinkList head;//头指针

  ListNode *s *r; //工作指针

  head=NULL; //链表开始为空

  r=NULL;//尾指针初值为空

  ch=getchar(); //读入第 个字符

  while(ch!= \\n )

  s=(ListNode *)malloc(sizeof(ListNode));//生成新结点

  s >data=ch; //将读入的数据放入新结点的数据域中

  if (head!=NULL)

  head=s;//新结点插入空表

  else

  r >next=s;//将新结点插到*r之后

  r=s;//尾指针指向新表尾

  ch=getchar(); //读入下一字符

  //endwhile

  if (r!=NULL)

  r >next=NULL;//对于非空表 将尾结点指针域置空head=s;

  return head;

  

  注意

  ⒈开始结点插入的特殊处理

  由于开始结点的位置是存放在头指针(指针变量)中 而其余结点的位置是在其前趋结点的指针域中 插入开始结点时要将头指针指向

  开始结点

  ⒉空表和非空表的不同处理

  若读入的第一个字符就是结束标志符 则链表head是空表 尾指针r亦为空 结点*r不存在;否则链表head非空 最后一个尾结点*r是终端结点 应将其指针域置空

cha138/Article/program/sjjg/201311/23310

相关参考

知识大全 线性表 - 链式存储结构- 单链表的运算(四)

  单链表的查找运算  ()按序号查找  ①链表不是随机存取结构  在链表中即使知道被访问结点的序号i也不能像顺序表中那样直接按序号i访问结点而只能从链表的头指针出发顺链域  next逐个结点往下搜索

知识大全 线性表 - 链式存储结构- 单链表的运算(五)

  插入运算  ()思想方法  插入运算是将值为x的新结点插入到表的第i个结点的位置上即插入到ai与ai之间  具体步骤  ()找到ai存储位置p  ()生成一个数据域为x的新结点*s  ()令结点*

知识大全 线性表 - 链式存储结构- 单链表的运算(三)

  ()尾插法建带头结点的单链表  ①头结点及作用  头结点是在链表的开始结点之前附加一个结点它具有两个优点:  ⒈由于开始结点的位置被存放在头结点的指针域中所以在链表的第一个位置上的操作就和在表的其

知识大全 线性表 - 链式存储结构 - 单链表

  单链表  链接存储方法  链接方式存储的线性表简称为链表(LinkedList)  链表的具体存储表示为  ①用一组任意的存储单元来存放线性表的结点(这组存储单元既可以是连续的也可以是不连续的) 

知识大全 数据结构之线性表的链式存储[2]

  作为线性表的一种存储结构我们关心的是结点间的逻辑结构(线性关系)而对每个结点的实际地址并不关心所以通常的单链表用图的形式表示  >  >

知识大全 数据结构[2]

  二知识点解析  线性表  线性表是一种最简单的数据结构在线性表方面主要考查线性表的定义和基本操作线性表的实现在线性表实现方面要掌握的是线性表的存储结构包括顺序存储结构和链式存储结构特别是链式存储结

知识大全 数据结构之线性表的链式存储[1]

  顺序表的存贮特点是利用物理上的相邻关系表达出逻辑上的前驱和后继关系它要求用连续的存储单元顺序存储线性表中各元素因此对顺序表进行插入和删除时需要通过移动数据元素来实现线性表的逻辑上的相邻关系从而影响

知识大全 数据结构之线性表的链式存储[4]

  > cha138/Article/program/sjjg/201311/23374

知识大全 数据结构之线性表的链式存储[3]

  链表的每个元素构成一个结点结点定义如下  Typedefstructnode  DataTypedata;/*每个元素数据信息*/  structnode*next;/*存放后继元素的地址*/  

知识大全 第一部分 线性存储结构[1]

第一部分线性存储结构  复习策略线性表部分由于比较简单又是整个数据结构的基础所以考察的内容会比较细致对于线性表灵活运用的程度要求较高复习时应充分理解线性表的顺序存储链式存储(单链表静态链表循环链表双向