链接列表

读了一段关于链接列表的代码,如下:

public class LinkedList {
Node head = null;
Node tail = null;
int size = 0;

public void add(Object o) {
Node n = new Node(o, null);
if(head == null) {
head = n;
tail = n;                        //感觉这一行多余。
}
tail.setNext(n);
tail = n;
size ++;
}

public int size() {
return size;
}
}

当新增加节点的时候,用传过来的o对象参数创建一个节点,链接指向空;接着把当前尾巴的下一个指针指向新节点,紧接着把尾巴节点设置成新节点。If语句的目的是处理链接列表第一个节点。


如果这种写法可行,那么If语句内的tail=n;没有必要。


感觉此段代码更应该在If语句后面也加上括号,以便减少重复,并且更加清晰易懂。

public class LinkedList {
Node head = null;
Node tail = null;
int size = 0;

public void add(Object o) {
Node n = new Node(o, null);
if(head == null) {   //首节点特例处理。
head = n;
tail = n;
}else {                  //增加花括号。
tail.setNext(n);
tail = n;
}                             //花括号增加完毕。
size ++;

}

public int size() {
return size;
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值