专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 数据结构链表的介绍

数据结构链表的介绍

更新时间:2022-05-17 10:01:55 来源:动力节点 浏览718次

链表是包含一系列连接节点的线性数据结构。在这里,每个节点存储下一个节点的数据和地址。例如,

你必须从某个地方开始,所以我们给第一个节点的地址一个特殊的名字,叫做头. 此外,可以识别链表中的最后一个节点,因为它的下一部分指向空值.

链表可以有多种类型:单链表、双链表和循环链表。在本文中,我们将重点介绍单链表。要了解其他类型,请访问链式存储结构

链表的表示

让我们看看链表的每个节点是如何表示的。每个节点包括:

一个数据项

另一个节点的地址

我们将数据项和下一个节点引用包装在一个结构中,如下所示:

struct node
{
  int data;
  struct node *next;
};

了解链表节点的结构是掌握它的关键。

每个结构节点都有一个数据项和一个指向另一个结构节点的指针。让我们创建一个包含三个项目的简单链接列表,以了解其工作原理。

/* Initialize nodes */
struct node *head;
struct node *one = NULL;
struct node *two = NULL;
struct node *three = NULL;
/* Allocate memory */
one = malloc(sizeof(struct node));
two = malloc(sizeof(struct node));
three = malloc(sizeof(struct node));
/* Assign data values */
one->data = 1;
two->data = 2;
three->data=3;
/* Connect nodes */
one->next = two;
two->next = three;
three->next = NULL;
/* Save address of first node in head */
head = one;

如果你不理解上面的任何一行,你只需要复习一下指针和结构。

只需几个步骤,我们就创建了一个包含三个节点的简单链表。

链表的力量来自于打破链并重新加入它的能力。例如,如果您想将元素 4 放在 1 和 2 之间,则步骤如下:

创建一个新的结构节点并为其分配内存。

将其数据值添加为 4

将其 next 指针指向包含 2 作为数据值的结构节点

将“1”的next指针更改为我们刚刚创建的节点。

在数组中做类似的事情需要移动所有后续元素的位置。

Java示例中的链表实现

// Linked list implementation in Java
class LinkedList {
  // Creating a node
  Node head;
  static class Node {
    int value;
    Node next;
    Node(int d) {
      value = d;
      next = null;
    }
  }
  public static void main(String[] args) {
    LinkedList linkedList = new LinkedList();
    // Assign value values
    linkedList.head = new Node(1);
    Node second = new Node(2);
    Node third = new Node(3);
    // Connect nodess
    linkedList.head.next = second;
    second.next = third;
    // printing node-value
    while (linkedList.head != null) {
      System.out.print(linkedList.head.value + " ");
      linkedList.head = linkedList.head.next;
    }
  }
}

以上就是关于“数据结构链表的介绍”,大家如果想了解更多相关知识,不妨来关注一下动力节点的Java在线学习,里面的课程内容从入门到精通,细致全面,很适合没有基础的小伙伴学习,希望对大家能够有所帮助。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>