单链表的插入、删除的实现
2018-11-10 本文已影响0人
丫甘九
定义节点类
public class Node<T> {
T data;
Node<T> next;
public Node(Node<T> h){
next=h;
}
public Node(T x,Node<T> h){
data=x;
next=h;
}
}
定义链表类
public class linklist<T> {
private Node<T> h;
public linklist(Node<T> h){
h = new Node<T>(null);
}
}
插入方法
public class insert {
public <T> void insert(T x,int pos ){
int i;
Node<T> p,q,s;
i=1;
Node<T> h = null;
p=h;
q=p.next;
while(i<pos){
p=q;
q=q.next;
i++;
}
s=new Node<T>(x,q);
p.next=s;
}
}
输出
public class Printlist {
public <T> void printlist(){
Node<T> p;
Object h;
for(p=h.next;p!=null;p=p.next)
System.out.print(p.data+" ");
}
}
测试类
public class Text {
public static void main(String[] args) {
linklist<Integer> h = new linklist<Integer>(null);
for(int i=1;i<=4;i++){
h.insert(i*10,i);
h.Printlist();
}
}
}