java---ListNode 链表

本文介绍了如何在Java中创建并操作链表数据结构。通过定义一个名为classListNode的链表节点类,包含数据和指针属性,然后通过示例展示了如何初始化和链接节点,创建一个长度为5的链表。此外,还提供了一个使用循环创建长度为10的链表的示例,并实现了链表的遍历打印功能。
摘要由CSDN通过智能技术生成

链表

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

 

 在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();
}

}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值