Java链表

链式存储:充分利用存储空间

java链表

单链表

节点的构建


public class Node{
  int data;//存储数据
  Node next;//存储下一个结点地址,如果是最后一个那么让他指向null
 public Node(){//结点的构造函数
    this.data=data;
    this.next=next;//这个可以不写;
  }
}

public class Main {
   public static void main(String[]args ) {
       Node n1=new Node(1,null);
       Node n2=new Node(3,null);
       Node n3=new Node(4,null);
       n1.next=n2;
       n2.next=n3;
       
   }
}

 如上单链表创建方式不便于维护于是我们有了下面的单链表构建方式

首先构建一个节点类

public class ListNode {
  public int value;
  public ListNode next;
  public ListNode(int value) {
      this.value=value;
  }
//下面是一个无参构造,可以在定义结点的时候不进行赋值默认值为空
  public ListNode() {
      
  }
}

定义尾指针

public class LinkList {
   public ListNode head=null;
   public ListNode temp=null;
   public void insert(int value) {
	   ListNode listnode=new ListNode(value);
	   if(head==null) {
     //这一步是第一个头节点赋值
		   head=listnode;
		   temp=listnode;
		   return;
	   }
   //让temp一直指向尾结点
	  temp.next=listnode;
	  temp=temp.next;
	   
   }
//这是输出链表里面的值
 public void m2() {
	 ListNode temp1=head;
	 while(temp1!=null) {
		 System.out.print(temp1.value+", ");
		 temp1=temp1.next;
	 }
 }
}

主函数

public class Main {
   public static void main(String[]args) {
	   LinkList link=new LinkList();
	   link.insert(4);
	   link.insert(5);
	   link.insert(6);
	   link.m2();
   }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值