单链表

思路:
1.两个对象:单链表LinkList、结点Node
2.初始化对象

LinkList:头结点head、长度size
Node:数据data、指针next

3.赋予对象方法

Node:增删改查

代码实现:

class LinkList{

    Node head=null;
    int size=0;

    static class Node{
        int data;
        Node next;

        public Node(int data,Node next){
            this.data=data;
            this.next=next;
        }
    }

    public Node search(int data){
        Node node =head;
        int index=0;
        while(node!=null){
            if(node.data==data){
                System.out.println("The index of "+data+" is "+index);
                return node;
            }
            node=node.next;
            index++;
        }
        return null;
    }

    public void append(int data){
        Node newNode=new Node(data,null);
        if(size==0){
            head=newNode;
        }else {
            Node node=head;
            while(node.next!=null) node = node.next;
            node.next = newNode;
        }
        size++;
    }

    public void insert(int index, int data){
        Node newNode=new Node(data,null);
        if(size==0||index==size) append(data);
        else if(index>size||index<0) return;
        else{
            if(index==0){
                newNode.next=head;
                head=newNode;
            }else{
                Node node=head;
                for(int i=1;i");
            node=node.next;
        }
        System.out.println(node.data);
    }

}

class Solution {

    public static void main(String[] args){
        LinkList linkList=new LinkList();
        linkList.append(1);
        linkList.append(2);
        linkList.append(3);
        linkList.append(4);
        linkList.append(5);
        linkList.append(6);
        linkList.print();
        linkList.insert(5,8);
        linkList.print();
        linkList.search(6);
        linkList.delete(2);
        linkList.print();
        linkList.update(6,7);
        linkList.print();
    }
}

运行结果:

size:6  1->2->3->4->5->6
size:7  1->2->3->4->5->8->6
The index of 6 is 6
size:6  1->3->4->5->8->6
The index of 6 is 5
size:6  1->3->4->5->8->7

你可能感兴趣的:(单链表)