一,定义节点类


//定义节点类public class ListNode {int val;//数据域ListNode next;//指针域ListNode() {}//构造方法ListNode(int val) { this.val = val; }ListNode(int val, ListNode next) { this.val = val; this.next = next; }}

二、创建一个新的节点。ListNode list=new ListNode(0)

ListNode list=new ListNode() 初始化一个空节点,无值,不提倡此种写法。ListNode list=new ListNode(0) 初始化一个节点值为0的空节点,最常用最正规写法ListNode list=null 为空,什么都没有,一般不这么写;

哨兵节点

我们在做题的时候,常常要进行插入,删除等操作,不可避免的会使头结点丢失。这个时候我们就要定义一个节点来保存头结点,这个节点就是哨兵节点。一般的,我们进行做题的时候,只需要对b进行操作,最后返回a就可以了。

ListNode a = new ListNode(0);ListNode b = a;

三,遍历,插入,删除 。

遍历

 public void displayAllNodes(ListNode list) {ListNode current = list;while (current != null) {System. out.println(current.val);current = current. next;}}

插入,将链表的头结点指向的节点放到待插入的节点的后面,然后让头结点指向待插入节点即可。插入其他位置都是这样的思路。

public void add(ListNode list,int a) {ListNode aNode = new ListNode(a);ListNode current = list;
//在头节点插入aNode.next=current.next;current.next=aNode;}

删除。 让所需要删除的节点等于它下一个节点即可。

public void add(ListNode list) {ListNode current = list;
//删除头结点current = current.next;}

java链表的基本操作相关推荐

  1. Java链表(基本操作)

    ·链表是一种最为简单的数据结构,它的主要目的是依靠引用关系来实现多个数据的保存,下面代码以String字符串类型示例 class Node {private String data;private N ...

  2. 链表的基本操作 java_详细实现单链表的基本操作【Java版】

    节点类 static Node head=new Node(); static class Node{ int data; Node next; public Node() {//无参构造方法,默认d ...

  3. 【Java】链表的基本操作

    链表主要是为了弥补一些顺序表的缺点: 顺序表的插入删除操作时间复杂度为 O(N) 增容需要申请新空间,拷贝数据,释放旧空间,会有不小的消耗 增容一般都是成2倍增长,会浪费一定的空间 为了解决以上问题引 ...

  4. 数据结构之【线性表】(顺序表、链表的基本操作实现)

    概念 线性表:是N个数据元素的有限序列. 顺序表:用一组地址连续的存储单元依次存储[线性表 ]的数据元素.(区别于有序表:表中的数据元素存在非递增或非递减有序) 链表:用一组任意的存储单元来存储[线性 ...

  5. JAVA链表中迭代器的实现

    注:本文代码出自<java数据结构和算法>一书. PS:本文中类的名字定义存在问题,Link9应改为Link.LinkList9应该为LinkList.由于在同包下存在该名称,所以在后面接 ...

  6. java 增 删 查 改_如何对java链表进行增、删、查、改操作

    如何对java链表进行增.删.查.改操作 发布时间:2020-06-23 10:41:33 来源:亿速云 阅读:79 作者:Leah 如何对java链表进行增.删.查.改操作?针对这个问题,今天小编总 ...

  7. 链表c++语言 解析,C++ 单链表的基本操作(详解)

    链表一直是面试的高频题,今天先总结一下单链表的使用,下节再总结双向链表的.本文主要有单链表的创建.插入.删除节点等. 1.概念 单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数 ...

  8. JAVA I/O基本操作

    JAVA I/O基本操作 JAVA文件操作 JAVA字节流 JAVA字符流 JAVA缓存流 JAVA对象流 JAVA数据流 本文主要借鉴以下博客和网站: how2j.cn 深入理解java中的I/O ...

  9. 《剑指offer》第二章小结(1)——链表的基本操作

    <剑指offer>第二章小结(1)--链表的基本操作 面试题5是从尾到头打印链表,与此相关的链表的基本操作应该知道. 下面代码中列举了单链表的创建.遍历.插入和删除四种操作.参考网址: h ...

最新文章

  1. 分享Kali Linux 2017年第24周镜像文件
  2. activemq高级客户端选项
  3. 【DWR系列04】- DWR配置详解
  4. improvement不可数
  5. kafka一键启动集群
  6. Hadoop localhost: frankxulei@localhost: Permission denied (publickey,password)
  7. app分发源码_第三方苹果企业签名源码
  8. 通过jdbc的mysql驱动连接oceanbase mysql模式数据库
  9. Tomcat学习总结(18)—— Tomcat启动时org.apache.catalina.util.SessionIdGenerator产生安全随机类SecureRandom的实例慢问题解决
  10. 随想录(学习使用virtualbox软件)
  11. Atitit 常用数据类型有哪些 目录 1.1. 数值类型 整数 小数 自增整数 1 1.2. 货币类型 1 1.3. 字符类型 字符串 2 1.4. 日期/时间类型 时间戳 2 1.5. Ur
  12. 各大物联网通信技术对比
  13. linux下mariadb的服务启动异常,centos7 – CentOS 7 MariaDB错误“无法启动mariadb.service:找不到单位.”...
  14. DELL新版BIOS重装系统win10
  15. java八皇后答案_java八皇后问题详解
  16. 僵尸国度.Z.Nation
  17. 使用scrapy框架做武林中文网的爬虫
  18. 查看手机IMEI IMSI
  19. Linux 命令(217)—— iptables-restore 命令
  20. [C语言编程练习][01]输入ASCII码值,输出对应的字符

热门文章

  1. 脱单有望!女孩子最多的IT岗位有哪些?
  2. MSF——基本使用和Exploit模块(一)
  3. 一路狂奔的今日头条,在人工智能上还有三个隐忧
  4. 说话人识别论文翻译:2018_speaker recognition from raw waveform with SincNet
  5. 嵌入式QT中文显示的问题
  6. 计算机内核态和用户态,用户态和内核态的区别是什么
  7. jquery手风琴动画
  8. 对于EnterCriticalSection和LeaveCriticalSection的理解和用法
  9. 《Java集合框架JCF》
  10. Django annotate报错遇到的问题