Java双链表的实现

public class Node {
    public String num;
    public Node next=null;
    public Node pre=null;
    public Node(String num){
        this.num=num;
    }
    public Node(){
        num=null;
    }
}
public class MyLinkList {
    private Node headNode;
    private Node tempNode;

    public MyLinkList(){
        headNode=new Node();
        tempNode = headNode;
    }
	//在最后增加结点
    public boolean addNode(String num){
        Node node = new Node(num);
        tempNode = headNode;
        while (tempNode.next != null) {
            tempNode = tempNode.next;
        }
        tempNode.next = node;
        node.pre=tempNode;
        System.out.println("结点增加成功");
        return true;
    }

	//在第二个位置增加一个结点,其他位置同
    public boolean addNodeSecond(String num){
        Node node = new Node(num);
        tempNode = headNode;
        tempNode = tempNode.next;
        node.pre=tempNode;
        node.next=tempNode.next;
        tempNode.next.pre=node;
        tempNode.next=node;
        System.out.println("第二个结点增加成功");
        return true;
    }

	//删除最后一个结点
    public boolean deleteNode(){
        tempNode = headNode;
        while (tempNode.next.next != null) {
            tempNode=tempNode.next;
        }
        tempNode.next=null;
        System.out.println("结点删除成功");
        return true;
    }

	//删除第二个结点
    public boolean deleteNodeSecond(){
        tempNode = headNode;
        tempNode = tempNode.next;
        tempNode.next=tempNode.next.next;
        tempNode.next.pre=tempNode;
        System.out.println("第二个结点删除成功");
        return true;
    }
	//遍历结点
    public void seeNode(){
       tempNode = headNode;
       while (tempNode.next!=null){
           System.out.println(tempNode.num);
           tempNode=tempNode.next;
       }
       System.out.println(tempNode.num);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值