zoukankan      html  css  js  c++  java
  • 自己实现LinkedList

    public class MyLinkedList<E> {
    
        private Node first;
    
        private int size;
    
        public int size(){
            return size;
        }
    
        @Override
        public String toString() {
           if(size == 0){
               return  "[]";
           }else{
               StringBuilder sb = new StringBuilder("[");
               Node current = first;
               while (current != null){
                   sb.append(current.value).append(",");
                   current = current.next;
               }
               sb.replace(sb.length() - 1, sb.length(), "]");
               return sb.toString();
           }
        }
    
        public static void main(String[] args) {
            MyLinkedList list = new MyLinkedList();
            list.addFirst("python").addFirst("java").addFirst("hello").addFirst("php");
            System.out.println(list);
            list.removeFirst();
            System.out.println(list);
            System.out.println(list.contains("python"));
    
        }
        public E removeFirst(){
            if(size == 0){
                return  null;
            }else {
                Node<E>  temp  =  first;
                first = temp.next;
                size--;
                return  temp.value;
            }
        }
    
        public   boolean contains(E e){
            Node current = first;
            while(current != null){
                if(current.value == e ){
                    return true;
                }
                current = current.next;
            }
            return false;
        }
    
        public MyLinkedList addFirst(E e){
            Node newNode = new Node(e);
            newNode.next = first;
            first = newNode;
            size++;
            return this;
        }
    
        private  static  class  Node<E>{
            private E value;
            private Node next;
    
            Node(E value){
                this.value = value;
            }
    
            @Override
            public String toString() {
                return  value == null?"null":value+"";
            }
        }
    }
  • 相关阅读:
    勿忘初心
    欧拉函数与数论的结合UVA11426
    法雷级数
    欧拉函数及其应用
    poyla计数问题
    组合计数问题中容斥原理的应用
    数学问题当中的一些基本计数问题
    HDU4642博弈好题
    KMP算法在字符串中的应用
    UVA11722概率问题之线性规划
  • 原文地址:https://www.cnblogs.com/moris5013/p/12040389.html
Copyright © 2011-2022 走看看