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

企业网站推广的实验内容中华建设杂志社网站

企业网站推广的实验内容,中华建设杂志社网站,小精灵网站在线做语文,短视频网站开发一、什么是链表 链表由一系列节点组成#xff0c;每个节点都包含一个 data 域#xff08;存放数据#xff09;和一个 next 域#xff08;指向下一节点#xff09;。链表中的节点可以按照任意顺序存放在内存中#xff0c;它们之间并不连续。每个节点都记录了下一个节点的地…一、什么是链表 链表由一系列节点组成每个节点都包含一个 data 域存放数据和一个 next 域指向下一节点。链表中的节点可以按照任意顺序存放在内存中它们之间并不连续。每个节点都记录了下一个节点的地址这样可以通过遍历节点的方式遍历整个链表。链表有多种类型如单向链表、双向链表和循环链表等。 这里主要了解单向列表的实现与使用。 二、在 Java 中实现链表 首先我们需要定义一个节点类假设其用于保存个人信息id、name其中 next 用于指向下一个节点Node。其还有构造方法同时重写了 toString 方法不输出 next 的信息。 class Node {public int id;public String name;public Node next;//构造器public Node(int id, String name) {this.id id;this.name name;}Overridepublic String toString() {return Node{ id id , name name };} } 接着我们初始化一个头结点其不存储任何数据仅用于表示单链表的头部。 private Node head new Node(0, ); 想要向链表中添加节点可以在 SingleLinkedList 类中定义一个 add 方法其内通过辅助节点(next)遍历链表到尾部再将要添加的节点添加到尾部。 public void add(Node node) {// 因为 head 节点不能动所以需要一个辅助节点 tempNode temp head;while (true){if (temp.next null){break;}temp temp.next;}temp.next node; } 想要查看链表的所有数据可以定义一个 list 方法创建一个辅助节点遍历链表并在 next 为空时输出错误信息后停止遍历不为空时输出节点的内容。 public void list(){if (head.next null) {System.out.println(链表为空);return;}Node temp head.next;while(true){if (temp null){break;}System.out.println(temp);temp temp.next;} } 最终效果如下所示 而要是想要实现添加时的 id 顺序随机 但会在链表中排序后添加到对应位置的功能我们可以创建一个排序添加的方法 addByOrder通过比较加入的节点与链表中原有节点中的 id 的大小来添加到链表的相应位置。 public void addByOrder(Node node){Node temp head;boolean flag false;while(true){if (temp.next null){break;}if (temp.next.id node.id){break;} else if (temp.next.id node.id){flag true;break;}temp temp.next;}if (flag){System.out.println(准备插入的人的编号已经存在: node.id);} else {node.next temp.next;temp.next node;} } 方法中先声明了一个辅助节点 temp 和一个用于记录 id 是否已存在的 flag。其先遍历链表如果 temp 的下一个节点为 null 则表示到达链表的尾部直接退出循环之后判断是否存在 id 在新加入的节点的 id 之后的如果有则退出循环此时 temp 代表需要插入位置之前的节点处而 temp.next 则代表需要插入位置之后的节点处。如下图所示 而循环外可以将 ① node 的 next 设为 temp 的next ② temp 的 next 设为 node。如下图所示 最后如果遍历到 id 相同的节点则将 flag 设为 true 后退出循环并在循环外输出错误信息。 最终效果如下所示 其余的基础操作也是类似的想法去实现如删除操作也是传入 id 后遍历链表找到相同的 id 后将其从链表中断开temp.next temp.next.next。更新和删除操作对应代码如下 public void update(Node newNode){if (head.next null){System.out.println(链表为空);return;}Node temp head.next;boolean flag false;while(true){if (temp null){break;}if (temp.id newNode.id){flag true;break;}temp temp.next;}if (flag){temp.name newNode.name;} else {System.out.println(没有找到编号 newNode.id 的节点);} }public void del(int id){Node temp head;boolean flag false;while (true){if (temp.next null){break;}if (temp.next.id id){flag true;break;}temp temp.next;}if (flag){temp.next temp.next.next;} else {System.out.println(没有找到编号 id 的节点);} } 水 【完】
http://www.w-s-a.com/news/391480/

相关文章:

  • 设计接单app平台有哪些在线网站seo诊断
  • 兰州网站建设推广现代营销手段有哪些
  • 郴州网站seo优化网络安全哪个培训班比较好
  • 做网站需要记哪些代码企业网站建设思路
  • 重庆自助建站模板网络服务器配置与管理
  • 外贸网站怎样做小程序买量平台
  • 中山精品网站建设机构海外留学网站建设方案
  • 长春网站建设工作如何取消wordpress页脚
  • 忻府网站建设排名网络管理系统官网
  • 张家港外贸网站建设国医堂网站平台建设
  • 水冶那里有做网站的对于网站链接优化有哪些建议
  • 宝安中心地铁站是几号线化妆品网站做的好的
  • 海宁营销型网站设计企业融资是什么意思
  • 淘宝客做网站要钱吗网站开发试题库
  • 10g空间网站做视频网站网站建设找超速云
  • 一元购网站怎么做企业网站源码cms
  • 域名不变 网站改版临沂企业网站建站模板
  • 天河网站建设信科网络外包公司和公司直招哪个好
  • 网站制作哈尔滨聊天系统源码
  • 网站建设朋友圈素材青白江建设网站
  • 红酒网站设计软件设计文档
  • 如何创建网站目录网站申请支付宝接口
  • 网站做区块链然后往里面投钱品牌设计公司收费标准
  • 2022互联网+创新创业项目呼和浩特企业网站排名优化
  • 电子商务类网站建设山西自助建站系统怎么用
  • odoo做网站网站设置专栏有什么好处
  • 局域网内个人网站建设查询企业的网站有哪些
  • 网站建设属于技术开发吗网页制作团队
  • 做家常菜的网站哪个好哪个网站做图片外链
  • 眼科医院网站设计怎么做6深圳宝安是什么风险等级