单链表的插入、删除的实现

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();
        }
    }

}

上一篇下一篇

猜你喜欢

热点阅读