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

河南大学学科建设处网站中国有什么网站做跨境零售

河南大学学科建设处网站,中国有什么网站做跨境零售,微信小程序免300元认证费,企业营销型网站推广方法✅作者简介#xff1a;热爱Java后端开发的一名学习者#xff0c;大家可以跟我一起讨论各种问题喔。 #x1f34e;个人主页#xff1a;Hhzzy99 #x1f34a;个人信条#xff1a;坚持就是胜利#xff01; #x1f49e;当前专栏#xff1a;Java数据结构与算法 #x1f9… ✅作者简介热爱Java后端开发的一名学习者大家可以跟我一起讨论各种问题喔。 个人主页Hhzzy99 个人信条坚持就是胜利 当前专栏Java数据结构与算法 本文内容Java实现单向链表的两种形式 单向链表 文章目录单向链表单向链表的特点单向链表代码实现无哨兵测试T1单向链表代码实现有哨兵测试T2结语单向链表的特点 单向链表顾名思义它是单向的一个节点有数据部分和next指针部分组成数据部分用来保存数据next指针指向下一个节点所以单向链表的每个节点都只知道下一个节点是什么而不知道上一个节点是什么。 单向链表代码实现无哨兵 /****description:单向链表*author: Hhzzy99*date:2023/3/4**/ public class SinglyLinkedList implements IterableInteger{//整体private Node head null;//头指针Overridepublic IteratorInteger iterator() {return new IteratorInteger() {Node p head;Overridepublic boolean hasNext() {//是否有下一个元素return p ! null;}Overridepublic Integer next() {//返回当前值并指向下一个元素int value p.value;p p.next;return value;}};}/*** 节点类*/private static class Node{int value;//值Node next;//下一个结点指针public Node(int value, Node next) {this.value value;this.next next;}}/*** 链表头添加元素* param value 元素值*/public void addFirst(int value){//1.链表为空 // head new Node(value,null);//2.链表非空head new Node(value,head);}//链表遍历public void loop1(ConsumerInteger consumer){Node p head;while(p ! null){consumer.accept(p.value);p p.next;}}/*** for循环函数式接口Consumer* param consumer 函数式接口*/public void loop2(ConsumerInteger consumer){for (Node p head; p ! null; p p.next){consumer.accept(p.value);}}/*** 最后一个元素* return Node p*/private Node findLast(){if(head null)return null;Node p;for(p head; p.next ! null; p p.next){}return p;}/*** 最后面添加元素* param value 元素值*/public void addLast(int value){Node last findLast();if(last null){addFirst(value);return;}last.next new Node(value,null);}/*** 寻找索引为index的元素* param index 寻找的元素的索引* return Node p*/private Node findNode(int index){int i 0;for(Node p head; p.next ! null; p p.next,i){if(i index)return p;}return null;}/*** 获取索引位置的元素* param index 索引值* throws IllegalArgumentException - 找不到索引抛出index非法异常*/public int get(int index){Node p findNode(index);if(p null)//抛异常throw new IllegalArgumentException(String.format(index [%d] 不合法%n,index));return p.value;}/*** 向索引位置插入元素* param index 索引值* param value 待插入值* throws IllegalArgumentException - 找不到索引抛出index非法异常*/public void insert(int index, int value){if(index 0){addFirst(value);return;}Node prev findNode(index - 1);//找到上一个节点if (prev null)//找不到throw new IllegalArgumentException(String.format(index [%d] 不合法%n,index));prev.next new Node(value,prev.next);}/*** 删除第一个元素* throws IllegalArgumentException - 找不到索引抛出index非法异常*/public void removeFirst(){if(head null)throw new IllegalArgumentException(String.format(index [%d] 不合法%n,0));head head.next;}/*** 删除索引为index的元素* param index 要删除元素的索引值* throws IllegalArgumentException - 找不到索引抛出index非法异常*/public void remove(int index){if(index 0){removeFirst();return;}Node prev findNode(index - 1);//上一个节点if (prev null)throw new IllegalArgumentException(String.format(index [%d] 不合法%n,index));if (prev.next null)throw new IllegalArgumentException(String.format(index [%d] 不合法%n,index));prev.next prev.next.next;//prev.next是被删除的元素} }测试T1 /****description:测试*author: Hhzzy99*date:2023/3/4**/ public class TestSinglyLinkedList {private SinglyLinkedList getSinglyLinkedList() {//addFirst addLastSinglyLinkedList singlyLinkedList new SinglyLinkedList();singlyLinkedList.addFirst(1);singlyLinkedList.addLast(2);singlyLinkedList.addLast(3);singlyLinkedList.addLast(4);return singlyLinkedList;}Test//测试get()public void test01(){SinglyLinkedList singlyLinkedList getSinglyLinkedList();System.out.println(singlyLinkedList.get(2));System.out.println(singlyLinkedList.get(5));}Test//测试insertpublic void test02(){SinglyLinkedList singlyLinkedList getSinglyLinkedList();singlyLinkedList.loop1(value - {System.out.print(value ,);});System.out.println();System.out.println();singlyLinkedList.insert(0,18);singlyLinkedList.loop1(value - {System.out.print(value ,);});}Test//测试removepublic void test03(){SinglyLinkedList singlyLinkedList getSinglyLinkedList();singlyLinkedList.loop1(value - {System.out.print(value ,);});System.out.println();singlyLinkedList.removeFirst();for (Integer ele:singlyLinkedList) {System.out.print(ele ,);}System.out.println();}Test//测似removepublic void test04(){SinglyLinkedList singlyLinkedList getSinglyLinkedList();singlyLinkedList.loop1(value - {System.out.print(value ,);});System.out.println();singlyLinkedList.remove(2);for (Integer ele:singlyLinkedList) {System.out.print(ele ,);}System.out.println();} }test01:第一个获取到值第二个超出索引抛出预设的异常 test02:符合预期 test03:符合预期 test04:符合预期 单向链表代码实现有哨兵 /****description:单向链表带哨兵*author: Hhzzy99*date:2023/3/4**/ public class SinglyLinkedListSentinel implements IterableInteger{//整体private Node head new Node(999,null);//头指针-哨兵Overridepublic IteratorInteger iterator() {return new IteratorInteger() {Node p head.next;Overridepublic boolean hasNext() {//是否有下一个元素return p ! null;}Overridepublic Integer next() {//返回当前值并指向下一个元素int value p.value;p p.next;return value;}};}/*** 节点类*/private static class Node{int value;//值Node next;//下一个结点指针public Node(int value, Node next) {this.value value;this.next next;}}/*** 链表头添加元素* param value 元素值*/public void addFirst(int value){insert(0,value);}//链表遍历public void loop1(ConsumerInteger consumer){Node p head.next;while(p ! null){consumer.accept(p.value);p p.next;}}/*** for循环函数式接口Consumer* param consumer 函数式接口*/public void loop2(ConsumerInteger consumer){for (Node p head.next; p ! null; p p.next){consumer.accept(p.value);}}/*** 最后一个元素* return Node p*/private Node findLast(){Node p;for(p head; p.next ! null; p p.next){}return p;}/*** 最后面添加元素* param value 元素值*/public void addLast(int value){Node last findLast();last.next new Node(value,null);}/*** 寻找索引为index的元素* param index 寻找的元素的索引* return Node p*/private Node findNode(int index){int i -1;//从哨兵位置开始(-1)for(Node p head; p.next ! null; p p.next,i){if(i index)return p;}return null;}/*** 获取索引位置的元素* param index 索引值* throws IllegalArgumentException - 找不到索引抛出index非法异常*/public int get(int index){Node p findNode(index);if(p null)//抛异常throw new IllegalArgumentException(String.format(index [%d] 不合法%n,index));return p.value;}/*** 向索引位置插入元素* param index 索引值* param value 待插入值* throws IllegalArgumentException - 找不到索引抛出index非法异常*/public void insert(int index, int value){if(index 0){addFirst(value);return;}Node prev findNode(index - 1);//找到上一个节点if (prev null)//找不到throw new IllegalArgumentException(String.format(index [%d] 不合法%n,index));prev.next new Node(value,prev.next);}/*** 删除第一个元素* throws IllegalArgumentException - 找不到索引抛出index非法异常*/public void removeFirst(){remove(0);}/*** 删除索引为index的元素* param index 要删除元素的索引值* throws IllegalArgumentException - 找不到索引抛出index非法异常*/public void remove(int index){Node prev findNode(index - 1);//上一个节点if (prev null)throw new IllegalArgumentException(String.format(index [%d] 不合法%n,index));if (prev.next null)throw new IllegalArgumentException(String.format(index [%d] 不合法%n,index));prev.next prev.next.next;//prev.next是被删除的元素} }测试T2 private SinglyLinkedListSentinel getSinglyLinkedListSentinel() {SinglyLinkedListSentinel list new SinglyLinkedListSentinel();list.addLast(1);list.addLast(2);list.addLast(3);list.addLast(4);return list;}Testpublic void test05(){SinglyLinkedListSentinel list getSinglyLinkedListSentinel();list.loop2(ele-{System.out.print(ele,);});System.out.println();System.out.println(list.get(2));System.out.println(list.get(10));//抛异常}Testpublic void test06(){SinglyLinkedListSentinel list getSinglyLinkedListSentinel();list.loop2(ele-{System.out.print(ele,);});System.out.println();list.insert(2,7);list.loop2(ele-{System.out.print(ele,);});System.out.println();list.remove(1);list.loop2(ele-{System.out.print(ele,);}); // list.insert(7,19);//抛异常}test05:符合预期抛出预设异常 test06:符合预期 结语 本文展示了Java实现单向链表的代码希望对大家有所帮助大家如果感兴趣可以点点赞关注一下你们的支持是我最强大的动力非常感谢您的阅读(❁´◡❁)
http://www.dnsts.com.cn/news/23096.html

相关文章:

  • 简单的手机网站模板下载安装应用商店下载软件
  • 纯静态网站挂马义乌网站制作多少钱
  • 响应式网站高度如何计算做网站首选科远网络
  • 江苏聚峰建设集团网站邻水县规划和建设局 网站
  • 网站根目录表示做效果图的方便的网站
  • 水墨背景风格企业网站模板适合学生做的网站类型
  • 个人网站备案可以放什么内容网站怎么提升关键词排名
  • 南京做微网站做兼职上什么网站找
  • 企业门户网站的建设与实现论文怎么用html做百度首页网站
  • 做啥网站赚钱网站的优化通过什么做上去
  • 杭州富阳建设局网站一个网站源码值多少钱
  • discuz可以做门户网站么宜昌做网站哪家最便宜
  • 浦东做网站的公司怎么把网站的标题做的炫酷
  • 同一个域名可以做几个网站吗最近一个月的热点事件
  • 单页网站制作 在线 支付企业网站关键词优化排名应该怎么做
  • 平邑建设银行网站公司的网站建设价格
  • 丰台网站开发公司公司网站域名的设计
  • 自己做网站广告法科技有限公司注册资金最低多少
  • 商业网站大全长春高端网站制作
  • wordpress 会员制 主题安阳网站自然优化
  • 官方网站minecraftphp空间放多个网站
  • 网站制作可以询价么做微商必会的软件网站
  • 典型的网站开发人员建设网站审核
  • 港口建设申报网站深圳做网站乐云seo598
  • 银川 网站制作设计公司怎么找客户
  • id注册网站怎么建设一个自己的电商网站
  • 重庆网站建设方案详细方案佛山三水建设局网站
  • 必要 网站湖南工程建设监理有限公司网站
  • 自己的商标名称可以做网站名称吗软件工程师证书报考要求
  • 欧泰国际物流网站seo关键词推广方式