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

无锡百度网站推广渠道长沙十大必去景点

无锡百度网站推广渠道,长沙十大必去景点,上海百度整站优化服务,网站备案密码找回《算法通关村第一关——链表青铜挑战笔记》 Java如何构造出链表 概念 如何构造出链表#xff0c;首先必须了解什么是链表#xff01; 单向链表就像一个铁链一样#xff0c;元素之间相互链接#xff0c;包含多个节点#xff0c;每个节点有一个指向后继元素的next指针。…《算法通关村第一关——链表青铜挑战笔记》 Java如何构造出链表 概念 如何构造出链表首先必须了解什么是链表 单向链表就像一个铁链一样元素之间相互链接包含多个节点每个节点有一个指向后继元素的next指针。表中最后一个元素的next指向null。 链表的核心是一个节点只能有一个后继节点但不代表链表指向本节点的只有一个。 Java与C不同没有了指针只有引用不用进行内存的回收会使得代码的书写更加简单。 Java如何编写链表 先放代码 package AlgorithmFirst;public class LinkedNode {private int data;private LinkedNode next;public LinkedNode(int data){this.data data;}/*** 获取数据* return 数据值*/public int getData(){return this.data;}/*** 设置数据的值* param data 数据*/public void setData(int data){this.data data;}/*** 获取下一个节点* return 当前节点的下一个几点*/public LinkedNode getNext(){return this.next;}/*** 设置下一个节点的值* param next 下一个节点*/public void setNext(LinkedNode next){this.next next;}/*** 获取链表长度* param head 头节点* return*/public static int getListLength(LinkedNode head){int length 0 ;LinkedNode node head;while(node ! null){length ;node node.next;}return length;}/*** 缺省位置直接在最后插入* param head 头节点* param insertNode 插入节点* return 头节点*/public static LinkedNode insertNode(LinkedNode head,LinkedNode insertNode){int size getListLength(head);// return insertNode(head,insertNode,size1); 修改一下以便insertNode后面的元素能够全部插入进来。int count 1;LinkedNode temp head;while(temp ! null){if(count size ){temp.next insertNode;}temp temp.next;count;}return head;}/*** 指定位置插入* param head 头节点* param nodeInsert 插入节点* param position 插入位置从1开始* return 返回头节点*/public static LinkedNode insertNode(LinkedNode head , LinkedNode nodeInsert, int position){if (head null ){// 如果head null 表示当前链表为空可以直接返回当前节点或者报异常这里直接把它当作头节点。return nodeInsert;}// 已经存在的元素的个数int size getListLength(head);if(position size 1 || position 1 ){System.out.println(位置参数越界);return head;}// 表头插入if(position 1 ){nodeInsert.next head;// 这里可以直接 return nodeInserthead nodeInsert;return head;}LinkedNode pNode head;int count 1;// 这里position 被上面的size限制住了不用考虑pNode nullwhile(count position -1){pNode pNode.next;count ;}nodeInsert.next pNode.next;pNode.next nodeInsert;return head;}/*** 缺省参数的删除最后一个节点* param head 链表头节点* return 返回新链表头节点*/public static LinkedNode deleteNode(LinkedNode head){int size getListLength(head);return deleteNode(head,size);}/*** 根据位置删除节点* param head 链表头节点* param position 位置从1开始最大链表大小 超出不删除返回原头节点。* return 新链表头节点*/public static LinkedNode deleteNode(LinkedNode head , int position){if(head null) {// 链表为空无法删除return null ;}int size getListLength(head);if(position size || position 1 ){System.out.println(输入参数有误 );return head;}if( position 1){return head.next;}else{LinkedNode cur head;int count 1;while(countposition-1){cur cur.next;count ;}LinkedNode curNode cur.next;cur.next curNode.next;//上面两行可以简化成 cur.next cur.next.next}return head;}public static void printLinkedList(LinkedNode head){int count 0;while(head ! null){System.out.println(第 count 个 head.data);head head.next;}}public static void main(String[] args) {LinkedNode head new LinkedNode(0);for(int i 0 ; i10 ; i){head LinkedNode.insertNode(head,new LinkedNode(i1));}System.out.println(origin:);printLinkedList(head);head deleteNode(head,3);System.out.println(delete the third );printLinkedList(head);head deleteNode(head);System.out.println(delete the last one);printLinkedList(head);head insertNode(head,new LinkedNode(11));System.out.println(insert one from last);printLinkedList(head);head insertNode(head,new LinkedNode(22222),1);System.out.println(insert to first);printLinkedList(head);}} 添加节点需要注意的点 链表无节点 如果开始链表无节点那么就把插入的节点作为头节点返回 插入到头节点 注意一下插入进行的操作步骤首先把插入节点的 next 等于 head 然后再让head 等于 插入节点然后返回。 插入到结尾 插入到结尾需要从head 遍历到结尾然后用最后一个节点的next指向插入节点即可。 插入到中间 插入到中间需要注意先通过遍历找到要插入位置的前一个然后插入节点的next等于前一个的next而前一个的next指向插入节点。一定要注意顺序 删除节点需要注意的 链表为空 直接返回 删除头节点 直接返回头节点的next 节点就好了。 删除中间节点、尾节点 首先要找到中间节点的前一个节点让前一个节点的next指向自己的next的next就可以了。 近期在自学 Java 做项目加入了一个编程学习圈子里面有编程学习路线和原创的项目教程感觉非常不错。还可以 1 对 1 和大厂嘉宾交流答疑也希望能对大家有帮助扫 ⬇️ 二维码即可加入。 也可以点击链接我正在「编程导航」和朋友们讨论有趣的话题你⼀起来吧
http://www.dnsts.com.cn/news/110212.html

相关文章:

  • 福州门户网站建设十大软件免费下载网站排行榜
  • 喷码机营销型网站陕西 网站备案
  • 百度怎么做自己网站注册公司名字大全免费
  • 企业的网站建设需要做什么韩国食品网站设计欣赏
  • 怎么提高网站流量自己电脑上做网站怎么使用源码
  • 做网站基本教程曲阜官方建设局网站
  • 建设银行网站修改手机号码前端做的比较好的网站
  • 如何创建自己的公司网站如何建立电商平台
  • 目前做那些网站能致富大庆哈尔滨网站建设
  • 外贸企业网站建设方案怎么自己做网站吗
  • 怎么做音乐mp3下载网站南昌seo网站管理
  • 网站项目建设的组织机构wordpress网站变灰
  • 网页网站建设西安网站建设王永杰
  • 张家港网站网络优化广西智能网站建设找哪家
  • 做网站公司宣传语校园网站的意义
  • 聊城专业做网站做网站软件dw
  • 网站设计方案要怎么写哈尔滨快速建站专业定制
  • 有没有好的ppt网站做参考的怎么推广自己的偏方
  • aspcms 手机网站网站建设最重要的因素
  • 怎么选择丹徒网站建设南京电信网站空间扩容
  • 西三环路网站建设网站建设需要几个人
  • 如何做好企业网站建设微信网站链接怎么做
  • 公司网站建设需求分析手机照片做成音乐相册
  • 新八建设集团网站做信息发布网站要多少钱
  • 落地页需要建网站吗营销型网站的推广
  • 网站开发核心技术wordpress 建多站
  • 中国建设银行官网站哈南分理处wordpress 自动图片
  • 网站免费建站pixiv app潍坊高端网站建设公司
  • 人人商城网站开发建设银行u盾用网站打不开
  • 网站推广的方法及技巧WordPress移动端小工具