您现在的位置是:首页 > 正文

java---ListNode 链表

2024-04-01 00:14:18阅读 0

链表

链表是一种数据结构:由数据和指针构成,链表的指针指向下一个节点。

 

 在Java中需要自己定义一个链表。链表中需要有两个属性:一个用于存放数据,一个用于存放指针

 接下来定义一个链表L

class ListNode{
	int val;
	ListNode next;//创建一个变量next 用来作为指针指向下一个节点
	ListNode(int x) { val = x; }	//给每一个节点附上一个变量x
}
public class Lianbiao {
	public static void main(String[] args) {
		//为L链表创建5个节点
		ListNode L = new ListNode(1);
		ListNode L2 = new ListNode(2);
		ListNode L3 = new ListNode(3);
		ListNode L4 = new ListNode(4);
		ListNode L5 = new ListNode(5);
		//用next指针将各个节点链接起来
		L.val=111;
		L.next = L2;
		L2.next = L3;
		L3.next = L4;
		L4.next = L5;
		System.out.println("链表L中第一个修改后节点的值为:"+L.val);
		System.out.println("链表L中第二个节点的值为:"+L.next.val);
		System.out.println("链表L中第三个节点的值为:"+L.next.next.val);
		System.out.println("链表L中第四个节点的值为:"+L.next.next.next.val);
		System.out.println("链表L中第五个节点的值为:"+L.next.next.next.next.val);
	}
}

用循环创建一个节点长度为10的链表

//创建及遍历链表
class ListNode {        
    int val;           
    ListNode next;      

ListNode(int val){ 
    this.val=val;   
}
}

class Test{
    public static void main(String[] args){
        

ListNode Listnode = new ListNode(0);    //创建首节点,节点的val是0.
ListNode nextNode;                     //声明一个变量用来在移动过程中指向当前节点
nextNode=Listnode;                      //指向首节点,这样两个结点的指针指向同一个结点

//创建链表
for(int i=1;i<10;i++){
    ListNode node = new ListNode(i);  //生成新的节点
    nextNode.next=node;               //把新节点连起来
    nextNode=nextNode.next;           //当前节点往后移动
}       //当for循环完成之后 nextNode指向最后一个节点,

nextNode=Listnode;                     //重新赋值让它指向首节点
print(nextNode);                      //打印输出

}

//打印输出方法
static void print(ListNode listNoed){
    //创建链表节点
    while(listNoed!=null){
        System.out.println("节点:"+listNoed.val);
        listNoed=listNoed.next;
    }
    System.out.println();
}

}

网站文章