zoukankan      html  css  js  c++  java
  • 数据结构学习--Java链表

    链表就和火车一样,一节一节的车厢形成节点,其中我们把车头当作first node,所有的操作全部由first node参与进行实现。

    Node.java

    package com.example.deer;

    public class Node {
    //数据域
    public long data;
    //节点域
    public Node next;

    public Node(long value){
    this.data = value;
    }

    /**
    * 显示方法
    */
    public void display(){
    System.out.print(data + " ");
    }
    }

    LinkList.java
    package com.example.deer;

    public class LinkList {
    //头节点
    private Node first;

    public LinkList(){
    this.first = null;
    }
    /**
    * 插入节点,在头节点后面进行插入
    */
    public void insertFirst(long value){
    Node node = new Node(value);
    node.next = first;
    first = node;
    }
    /**
    * 删除节点
    */
    public Node deleteFirst(){
    Node tmp = first;
    first = tmp.next;
    return tmp;
    }
    /**
    * 显示方法
    */
    public void display(){
    Node current = first;
    while (current != null){
    current.display();
    current = current.next;
    }
    System.out.println();
    }
    /**
    * 查找方法
    */
    public Node find(long value){
    Node current = first;
    while (current.data != value){
    if(current.next == null){
    return null;
    }
    current = current.next;
    }
    return current;
    }
    /**
    * 删除方法
    */
    public Node delete(long value){
    Node current = first;
    Node pervious = first;
    while (current.data != value){
    if(current.next == null){
    return null;
    }
    pervious = current;
    current = current.next;
    }
    if(current == first){
    first = first.next;
    }else{
    pervious.next = current.next;
    }
    return current;
    }
    }


  • 相关阅读:
    [UVA100] The 3n + 1 problem.题解
    [SP1] TEST
    LCA【模板】
    [P1000] 超级玛丽游戏.题解
    [P3367]【模板】并查集.题解
    并查集【模板】
    洛谷 P1890 【gcd区间】
    浅谈分块算法经典问题&优化
    Floyd算法详(cha)解
    逆序对
  • 原文地址:https://www.cnblogs.com/xiaohualu/p/11776882.html
Copyright © 2011-2022 走看看