知识大全 数据结构之单链表基本运算的实现[2]

Posted 结点

篇首语:直如朱丝绳,清如玉壶冰。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 数据结构之单链表基本运算的实现[2]相关的知识,希望对你有一定的参考价值。

   销毁单链表

  单链表被构造 使用完后 由于其结点均为动态分配的内存空间 所以必须要销毁 以释放空间 否则会造成申请的内存不能释放 单链表的销毁操作是创建操作的逆运算 由于要修改单链表的头指针的指针变量 所以要将头指针地址传给该函数 首先判断要销毁的表是否存在 然后在单链表存在的情况下释放该单链表的所有结点(包括头结点) 具体算法如下

  void Destroy_LinkList(LinkList *Headdress)

   /*销毁单链表 入口参数 单链表头指针的地址 出口参数 无*/

  LinkList p q;

  if ( ! (*Headdress)) /*判断单链表是否存在 不存在则直接返回*/

  return;

  p=*Headdress;

  while ( p!=NULL) /*释放单链表的所有结点*/

  

  q=p;

  p=p >next;

  free(q);

   /*while */

  *Headdress=NULL; /*将头指针变为零表示单链表不存在*/

  

  设调用函数为主函数 主函数对创建函数和销毁函数的调用如下

  main( )

  

  LinkList H;

  H =Creat_LinkList();

  ……

  Destroy_LinkList(&H);

  

cha138/Article/program/sjjg/201311/23084

相关参考

知识大全 数据结构之单链表基本运算的实现[14]

  图双向链表中的结点删除  双向链表的结束条件和单链表相同双向循环链表的结束条件和单向循环链表的结束条件相同  静态链表  根据上节单链表的知识用单链表表示线性表时其结点空间是在运行时根据需要动态分

知识大全 数据结构之单链表基本运算的实现[3]

  求表长  由于单链表采用离散的存储方式并且没有显示表长的存储信息因此要求出单链表的表长必须将单链表遍历一遍  算法思路设一个移动指针p和计数器count初始化后p指向头结点p后移一个结点count

知识大全 数据结构之单链表基本运算的实现[10]

  循环链表  对于单链表而言最后一个结点的指针域是空指针如果将该链表头指针置入该指针域则使得链表头尾结点相连就构成了循环单链表(也称单循环链表)如图所示  >  图带头结点的单循环链表  对循环单链

知识大全 数据结构之单链表基本运算的实现[12]

  双向链表结点的定义如下  typedefstructnode  DataTypedata;  structnode*prior*next;  DuNode*DLinkList;  和单链表类似双向

知识大全 数据结构之单链表基本运算的实现[8]

  删除  删除运算是指删除单链表的第i个结点即将第i个元素结点的指针域指向第i+个元素结点要实现删除首先要找到第i个元素结点前驱结点设单链表第i个元素结点指针为p要删除第i个元素结点(指针为q)操作

知识大全 数据结构之单链表基本运算的实现[16]

  算法如下  LinkListmerge_LinkList(LinkListALinkListB)  /*设AB均为带头结点的单链表A和B归并成C返回C*/  LinkListC;  LinkLis

知识大全 数据结构之单链表基本运算的实现[4]

  查找操作  ()按序号查找  从单链表的第一个元素结点起判断当前结点是否是第i个若是则返回该结点的指针否则继续下一个结点的查找直到表结束为止若没有第i个结点则返回空如果i=返回头指针  算法如下 

知识大全 数据结构之单链表基本运算的实现[5]

  ()按值查找  单链表的按值查找是在线性表存在的情况下查找值为x的数据元素若成功返回首次出现的值为x的那个元素所在结点的指针;否则未找到值为x的数据元素返回NULL表示查找失败  算法思路从链表的

知识大全 数据结构之单链表基本运算的实现[7]

  if(!p)    printf(i有误);  return();    q=(LinkList)malloc(sizeof(LNode));  if(!q)    printf(申请空间失败);

知识大全 数据结构之单链表基本运算的实现[18]

  【例】用链表求解约瑟夫问题  算法思路由于约瑟夫问题是n个人围坐一圈所以采用循环链表实现又由于报数时可能循环到开始所以采用不带头结点的循环链表结构  算法步骤  ()在不带头结点的循环链表中查找第