您所在的位置:首页 - 百科 - 正文百科

链表怎么输入数据

蒽博
蒽博 05-04 【百科】 697人已围观

摘要编程链表是数据结构中的一个重要概念,它可以用于存储和管理大量数据。在这里,我将介绍如何编程实现链表。链表是由一组节点组成的数据结构,每个节点包含数据和一个指向下一个节点的指针。链表有头节点和尾节点,头

编程链表是数据结构中的一个重要概念,它可以用于存储和管理大量数据。在这里,我将介绍如何编程实现链表。

链表是由一组节点组成的数据结构,每个节点包含数据和一个指向下一个节点的指针。链表有头节点和尾节点,头节点保存链表的第一个节点,尾节点保存链表的最后一个节点。

下面是一个简单的链表节点的定义:

```

class Node {

int data;

Node next;

Node(int data) {

this.data = data;

this.next = null;

}

}

```

接下来是一个链表的实现类:

```

class LinkedList {

Node head;

Node tail;

LinkedList() {

this.head = null;

this.tail = null;

}

// 在链表末尾插入一个节点

void append(int data) {

Node newNode = new Node(data);

if (head == null) {

head = newNode;

tail = newNode;

} else {

tail.next = newNode;

tail = newNode;

}

}

// 在链表的指定位置插入一个节点

void insert(int data, int position) {

Node newNode = new Node(data);

if (position == 0) {

newNode.next = head;

head = newNode;

} else {

Node current = head;

int currentPosition = 0;

while (currentPosition < position 1 && current != null) {

current = current.next;

currentPosition ;

}

if (current != null) {

newNode.next = current.next;

current.next = newNode;

}

}

}

// 删除链表指定位置的节点

void delete(int position) {

if (head == null) {

return;

}

if (position == 0) {

head = head.next;

} else {

Node current = head;

int currentPosition = 0;

while (currentPosition < position 1 && current != null) {

current = current.next;

currentPosition ;

}

if (current != null && current.next != null) {

current.next = current.next.next;

}

}

}

// 输出链表的内容

void display() {

Node current = head;

while (current != null) {

System.out.print(current.data " ");

current = current.next;

}

}

}

```

以上是一个基本的链表的实现。你可以使用以下代码进行测试:

```

public class Main {

public static void main(String[] args) {

LinkedList linkedList = new LinkedList();

linkedList.append(1);

linkedList.append(2);

linkedList.append(3);

linkedList.insert(4, 1);

linkedList.insert(5, 3);

linkedList.delete(2);

linkedList.display(); // 输出:1 4 5 3

}

}

```

使用以上代码,你可以在Java中实现一个简单的链表数据结构。当然,你还可以根据需要添加其他方法,如查找特定节点、反转链表等。

希望这能帮到你,如果你对链表的其他操作有疑问,可以随时向我提问。

Tags: 谁在背我飞行 江南百景图严大人交换表 艾泽拉斯人口普查 塞纳里奥议会 盗墓迷城2

最近发表

icp沪ICP备2023033053号-25
取消
微信二维码
支付宝二维码

目录[+]