Java单链表

java 数据结构与算法之单链表


创建一个节点类
public class Node {

    int data;
    //利用 next连接下面的节点
    Node next;

    Node(int data) {
	 this.data = data;
    }

    public void append(Node node) {                  
        Node currentNode = this;
        while (true) {
            Node nextNdoe=currentNode.next;
            if(nextNdoe==null){

                break;
            }
            currentNode=nextNdoe;


            }
        currentNode.next=node;         
        }

        public int getData () {
            return this.data;
        }
        public Boolean iaLast(){
        return next==null;                          //判断节点是否为空  使用 Node 对象对节点进行调用  即传入本身的next 进行判断
        }
//        实现插入一个节点   插入到当前节点的后面
     public void insert( Node node){
        Node temp=node;
        temp.next=this.next;
        this.next=temp;

     }

        //删除下一个节点
        public void delete(){
            Node nextNode =next.next;
            this.next=nextNode;     //想要删除的那个节点就会被 垃圾回收机制回收
        }
        public void show(){
        Node currentNode=this ;
       while(true) {

           if (currentNode != null) {
               System.out.println(currentNode.getData());
           }else{
               break;
           }         
           currentNode = currentNode.next;

       }
        }
    }

创建一个链表类

public static void main(String[] args) {
        Node n1=new Node(5);   //创建了一个节点
        Node n2=new Node(6);   //创建了一个节点
        Node n3=new Node(7);   //创建了一个节点
        Node n4=new Node(9);   //创建了一个节点
        Node n5=new Node(100);   //创建了一个节点
  n1.append(n2);
        n1.append(n3);
        n1.append(n4);
        System.out.println(n1.iaLast());
        System.out.println(n1.next.next.getData());
        System.out.println(n3.iaLast());
        n1.delete();
        System.out.println(n1.next.next.getData());  //实现了删除第二个节点
        System.out.println("====================");
        n3.insert(n5);
        n1.show();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值