牧羊人新闻资讯网-牧羊人博客

主页
分享国际,国内,军事,社会,娱乐和财经新闻

许明虎:链表是什么!那个编程语言中有的,和

更新时间:2020-11-10 12:35点击:

  一、不同复

  1、链表一种物制理存元上2113非、非顺序的存5261构。

  2、数组4102:是1653有序的元素序列。是用于储存多个相同类型数据的集合。

  二、特点不同

  1、链由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。

  2、数组:是在程序设计中,为了处理方便, 把具有相同类型的若干元素按无序的形式组织起来的一种形式。

  三、数据顺序不同

  1、链表:数据元素的逻辑顺序是通过链表中的指针链接次序实现的。

  2、数组:数组中的各元素的存储是有先后顺序的,在内存中按照这个先后顺序连续存放在一起。

  参考资料来源:百度百科-链表

  参考资料来源:百度百科-数组

  链

  链表概述

  链表是一种常见的重要的数据结构。它是动态地进行存储分配的一种结构。它可以根据需要开辟内存单元。链表有一个“头指针”变量,以head表示,它存放一个地址。该地址指向一个元素。链表中每一个元素称为“结点”,每个结点都应包括两个部分:一为用户需要用的实际数据,二为下一个结点的地址。因此,head指向第一个元素:第一个元素又指向第二个元素;……,直到最后一个元素,该元素不再指向其它元素,它称为“表尾”,它的地址部分放一个“NULL”(表示“空地址”),链表到此结束。

  单向链表

  单向链表的每个结点中除信息域以外还有一个指针域,用来指出其后续结点,单向链表的最后一个结点的指针域为空(NULL)。单向链表由头指针唯一确定,因此单向链表可以用头指针的名字来命名,例如头指针名为head的单向链表称为表head,头指针指向单向链表的第一个结点。在用C语言实现时,首先说明一个结构类型,在这个结构类型中包含一个(或多个)信息成员以及一个指针成员:

  #define NULL 0

  typedef int DATATYPE

  typedef struct node

  {DATATYPE info;

  node *next;

  }LINKLIST;

  链表结构中包含指针型的结构成员,类型为指向相同结构类型的指针。根据C语

  言的语法要求,结构的成员不能是结构自身类型,即结构不能自己定义自己,因为这样将导致一个无穷的递归定义,但结构的成员可以是结构自身的指针类型,通过指针引用自身这种类型的结构。

  链表的每个结点是lINKIST结构类型的一个变量。例如定义了个链表的头指针head

  和两个指向链表结点的指针p,q:

  LINKLIST *head,*P,*q;

  根据结构成员的引用方法,当p和q分别指向了链表的确定结点后,P->info和p->next分别是某个结点的信息分量和指针分量,LINKLIST结构的信息分量是整型,可以用常规的方法对这两个结点的信息分量分别赋值:

  。。。。。。。

官方微信公众号