链表的数据结构

本文详细介绍了链表的数据结构,包括其组成部分:结点、表头和结点指针指向的对象。并通过具体实例演示了如何通过Java实现链表的创建及在链表尾部添加结点的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

链表结构的定义:

链表应该由三部分部分组成:

  1. 结点: 结点由结点的值和指针(每个独立的结点只申明指针,并不指向具体的对象)
  2. 表头
  3. 结点指针指向的对象

链表定义一个大类:

  1. 表头(变量)
  2. 结点(类)
  3. 尾部添加结点(方法):结点的值添加在哪个结点的后面,当然新增加的结点只能在最后:
添加结点方法的描述:
  • 新定义一个结点;
  • 判断有没有头结点,如果没有头结点,就将新结点作为头结点;
  • 如果有头结点,就取出头结点,并从此结点开始判断下一个结点是否为空,如果指向的下一个结点为空,就将此时结点的指针指向新结点,这个结点就添加完毕。
public class ListNode2 {
    Node head = null;

    public class Node{
        int val;
        Node next = null;
        Node(int val){
            this.val = val;
        }   
    }

    public void addNode(int val){
        Node newNode = new Node(val);
        if(head == null){
            head = newNode;
            return;
        }

        Node tmp = head;
        while(tmp.next != null){
            tmp = tmp.next;
        }       
        tmp.next = newNode;     
    }

    public static void main(String[] args) {
        ListNode2 list = new ListNode2();
        list.addNode(5);
        list.addNode(6);
        list.addNode(7);
        list.addNode(8);
        list.addNode(9);

        Node node = list.head;

        while(node != null){
            System.out.println(node.val);
            node = node.next;

        }   
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值