单链表代码案例
public class useData <T>{
static class Node<T>{
T element;
Node next;
public Node(T element){
this.element=element;
}
}
Node head;
Node tail;
int size;
public useData(){
head=null;
tail=null;
size=0;
}
public void addList(T element)
{
Node newNode=new Node(element);
if(tail==null){
tail=newNode;
head=tail;
}else {
tail.next=newNode;
tail=newNode;
}
this.size++;
}
public void AddList(T element,int Point){
if(Point>size){
return;
}
Node newNode=new Node(element);
if(Point==0){
newNode.next=head;
head=newNode;
if (tail == null) {
tail=newNode;
}
this.size++;
}
else if(Point==size){
this.addList(element);
}
else {
Node prev = head;
for (int i = 0; i < this.size - 1; i++) {
prev = prev.next;
}
Node next = prev.next;
newNode.next = next;
prev.next = newNode;
size++;
}
}
public void search() {
Node cur = this.head;
while (cur!=null){
System.out.println(cur.element);
cur=cur.next;
}
System.out.println("NO");
}
public void delete(int deleteID){
Node cur=this.head;
for(int i=0;i<deleteID-2;i++){
cur=cur.next;
}
Node next=cur.next.next;
cur.next=next;
this.size--;
}
}