第四节数组模拟链表的应用(导刊33期).docVIP

  • 2
  • 0
  • 约4.84千字
  • 约 5页
  • 2018-05-24 发布于河南
  • 举报

第四节数组模拟链表的应用(导刊33期).doc

第四节数组模拟链表的应用(导刊33期)

数组模拟链表的应用 链表(Linked list)是一种常见的数据结构,是动态数据结构的最基本形式。链表在信息学竞赛中的应用相当广泛,这是因为使用链表可以克服数组需要预先知道数据大小的缺点,充分利用计算机内存空间,实现灵活的内存动态管理。用数组模拟链表,可以简化链表的操作,从而使链表更好的为我们服务。 一、建立数组模拟链表的结构 1.单向链表 单向链表是链表中最简单的一种,我们先看一下它的定义: Type point =^node; node = record data : longint; next : point; end; Var p : point; 一个单向链表的结点包含两个域:一个信息域和一个指针域。第一个部分保存或者显示关于结点的信息,第二个部分存储下一个结点的地址。另外,一个特殊的头指针指向链表的第一个元素,并且在最后一个结点保存一个特殊的结束标记。这种最为普通的,每个结点只有一个指针的链表叫单向链表,或者单链表,通常用在每次都只会按顺序遍历这个链表的时候(例如图的邻接表等)。 我们使用链表主要是要发挥链表动态分配内存空间的优势,但是在信息学竞赛中,我们基本上不需要过多考虑动态空间分配,所以,使用数组模拟链表就可以很好的实现链表数据结构。我们先看一下数组模拟链表的定义,比较数组和链表的差别和联系: Type node = record data,next : lon

文档评论(0)

1亿VIP精品文档

相关文档