1、链表的数据结构定义
public class Node() {
private int data;
private Node next;
public Node(int data) {
this.data = data
}
}
2、添加链表节点
public void addNode(int d){
Node newNode=new Node(d);
if (head==null) { //若原链表为空,新建结点为头结点
head=newNode;
return;
}
Node tmp=head; //否则将新节点插入表尾
while(tmp.next!=null){
tmp=tmp.next;
}
tmp.next=newNode;
}
3、删除指定位置的节点
public Boolean deleteNode(int index){
if (index<1|| index>length()) { //删除元素位置不合理
return false;
}
//删除链表第一个元素
if (index==1) {
head=head.next;
return true;
}
int i=1;
Node preNode=head; //preNode指向头结点
Node curNode=preNode.next; //curNode指向头结点的下一个结点,即当前结点
while(curNode!=null){ //当前