数据结构:使用java实现单链表的构造以及基本操作

本文介绍如何使用Java实现单链表,包括内部类构建、链表操作如插入、删除、查找、反转、环判断及删除指定节点等,并提供了详细的方法和思路解析。
摘要由CSDN通过智能技术生成

说明:本篇文章的所说的节点  结点 都是C语言的指针的意思。

1.使用内部类来实现单链表

public class LinkList {
    Node first;//指向第一个结点
    Node last;//指向最后一个结点
    class Node {//使用内部类来构造链表
        Node next;//外部类实例化内部类能访问私有属性,
        int value;//这里没有设置为私有属性是因main函数测试的时候方便。
        public Node(){};//空构造函数
        public Node(int value) {//构造函数
            this.value = value;
        }
       
    }
}

2.单链表的构建

/**
 * 使用尾插法创建链表
 * @param value
 */
    public void Construct(int value) {
        if(first == null) {
            Node current = new Node(value);
            first = current;
            last = first;//只有一个节点的时候,最后一个节点也是第一个节点
        }else {
            Node current = new Node(value);
            last.next = current;//最后一个节点指向新节点
            last = current;//更新最后一个节点的位置
        }
    }

 

3.遍历单链表

    public void travering(Node first) {//输入头节点
        Node traver = first;
        while(traver!=null) {//只要节点不为空就说明还没遍历完
            System.out.print(traver.value+"  ");
            traver = traver.next;
        }
        System.out.println();
    }

4.往单链表中插入数据(往后插~)

 /**
  * 使用尾插法插入数据
  * 当然也可以把数据往前插,用first来实现.insertNode.next = first; first = insertNode;
  * 不过我喜欢插后面~
  * @param value
  */
    public void Insert(int value) {
        Node insertNode = new Node(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值