当前位置: 首页 > news >正文

Java之链表的基本操作

1.相关基本操作

//实现链表的基本操作
public class Mysiglelist {//节点类static class ListNode {int val;ListNode next;public ListNode(int data) {this.val = data;}}public ListNode head;// 头插public void addFirst(int data) {ListNode node = new ListNode(data);node.next = head;head = node;}//尾插public void addLast(int data) {ListNode node = new ListNode(data);if(head==null){head=node;return;}ListNode cur = head;while (cur.next != null) {cur = cur.next;}cur.next = node;}//获取链表的长度public int size() {//1.空链表if(head==null){return 0;}//2.非空链表int count=0;ListNode cur = head;while (cur!= null) {cur = cur.next;count++;}return count;}//链表的打印public void show() {ListNode cur = head;while (cur != null) {System.out.print(cur.val+" ");cur = cur.next;}System.out.println();}//是否包含 数据keypublic boolean contains(int key) {ListNode cur = head;while (cur != null) {if(cur.val == key) {return true;}cur = cur.next;}return false;}
}

2.操作的调用

public class Test {public static void main(String[] args) {Mysiglelist mysiglelist=new Mysiglelist();mysiglelist.addFirst(1);mysiglelist.addFirst(2);mysiglelist.addLast(3);mysiglelist.addLast(4);mysiglelist.show();System.out.println(mysiglelist.size());System.out.println(mysiglelist.contains(999));}
}

http://www.mrgr.cn/news/26929.html

相关文章:

  • 使用KDB.AI和LangChain构建高效的语义搜索系统
  • 【Python报错已解决】 raise JSONDecodeError(“Expecting value“, s, err.value) from None
  • P2865 [USACO06NOV] Roadblocks G
  • Linux环境基础开发工具---vim
  • CSS 新特性查漏补缺,快来看看你用过几个?
  • cmake的出现是为了解决什么问题 cmake是干嘛的
  • 现代 Web 开发工具箱:Element-UI 表单组件全攻略(二)
  • 【docker】docker 关键技术 —— 镜像制作
  • [论文精读]Polarized message-passing in graph neural networks
  • 5分钟手把手系列(二):本地部署Graphrag(Pycharm+Ollama+LM Studio)
  • border制作渐变色边框
  • 我们来聊聊SOME/IP的timing时间参数和TTL(Time To Live)的作用及使用规则。
  • unordered系列模拟实现
  • 个人电脑可以当服务器用吗?
  • MyBatis解决实体类(POJO)的字段名和数据库表的列名不一致方法总结(四种方法)
  • 线程 - 线程的由来、进程和线程的关系、进程创建_等待_退出详解
  • Docker零基础入门
  • 爆品只是日百商家的表面“风光”
  • 最新热点!结合创新!小样本学习+CLIP:超好上手的思路,爽发顶会顶刊
  • react-intl——react国际化使用方案