创建动态链表Java基础用法

1、链表主要的方法与变量

LinkList类:

类变量:Node head , int N

构造方法:public LinkList(){};

成员方法:boolean isEmpty();//判空     addNode(T data);//输入数据   remove(T data);//删除数据  

search(T data);//查找    show();//输出链表数据   clear();//清空链表

成员变量:T data;//数据   Node next;//结点地址

内部类:class Node{};

2、思路分享

实现的步骤:

(1)、确定类变量:单向链表基本数据字段为两个:一个为记录头节点的Node head;一个是记录结点数的 int N;

(2)、使用构造方法初始化链表:构造方法为public LinkList(){};在构造方法中,初始化结点数N=0;头结点head=new Node(null,null);

(3)、创建成员内部类:内部类定义为:class Node(){}。定义结点的内容,包括存储的数据 privateT data和存储结点地址 private Node next在内部类中创建成员方法,把输入的数据存储到链表中的数据变量。成员方法为:public Node(T data,Node next){this . data=data;}

其中,T表示的是泛类,不管输入的是整型、浮点型还是字符串都可以被读取并储存。如果需要指定输入的类型,可以把T改为相应的数据类型!

(4)、考虑链表需要实现的功能,包括:增加结点、删除结点、判断链表是否为空、查找结点数据、输出链表……根据xiaxia相应的功能编写不同的方法。以增加节点为例:
        先判断头节点是否有数据,没有的话需要先处理头节点:head = new Node(data , null); N++;

        如果头节点有数据:增加的原理为先创建一个新的结点,并把新结点的地址赋值给上一个结点的next 变量中,保持链表的连续性。实现代码:

Node newNode=(data,null);//新结点

Node temp=head.next;

while(temp.next!=null){

temp=temp.next;//找出尾结点

}

temp.next=newNode;

N++;

3、代码实现

(源代码的注释均为个人理解与记忆,如有错误,欢迎指正!!!)

4、测试用例
(1)、测试代码

(2)、代码结果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值