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

注册一个网站帮人做违法网站

注册一个网站,帮人做违法网站,python+网站开发实例教程,深圳推广优化公司目录 1.链表的基本概念 2.链表的实现 -- 节点的构造和链接 节点如何构造? 如何将链表关联起来? 3.链表的方法(功能) 1).display() -- 链表的遍历 2).size() -- 求链表的长度 3).addFirst(int val) -- 头插法 4).addLast(int val) -- 尾插法 5).addIndex -- 在任意位置…目录 1.链表的基本概念 2.链表的实现 -- 节点的构造和链接 节点如何构造? 如何将链表关联起来? 3.链表的方法(功能) 1).display() -- 链表的遍历 2).size() -- 求链表的长度 3).addFirst(int val) -- 头插法 4).addLast(int val) -- 尾插法 5).addIndex -- 在任意位置插入 6).contains(int val) -- 链表中是否包含某个元素 7). remove(int key) -- 删除第一次出现的关键字的节点 8).removeAll(int val) -- 删除所有出现的关键字的节点 9).clear() -- 清空 回收对象,防止浪费 : head null; 1.链表的基本概念 链表Linked List是一种常见的基础数据结构它由一系列节点Node组成每个节点包含两部分一部分存放数据元素另一部分存放指向下一个节点的指针. 2.链表的实现 -- 节点的构造和链接 节点如何构造? 在 Java 中通常通过定义一个类来表示链表中的节点。每个节点通常包含两个部分数据域和指针域。对于单向链表每个节点的指针域指向下一个节点. public class LinkedList {// 定义链表节点static class ListNode {int val; // 数据域ListNode next; // 指针域ListNode(int x) {this.val x;this.next null;}}public ListNode head; } 如何将链表关联起来? 通过访问node1的指针域next,将其赋值为下一个节点的地址,以此类推,最后让头节点head指向第一个节点node1. node1.next node2;node2.next node3;node3.next node4;node4.next node5;this.head node1; 3.链表的方法(功能) 1).display() -- 链表的遍历 首先我们创建一个名为 cur 的局部变量它是一个指向 ListNode 类型的引用。将链表的头节点head赋值给 cur这样我们就有了一个可以用来遍历整个链表的起始点.使用 while 循环来遍历链表。只要 cur不是 null即还没有到达链表的末尾就继续执行循环体内的代码。如果 cur 是 null则说明已经到了链表的末尾循环结束。在循环体内我们使用 System.out.print 来打印当前节点的数据。这里用 - 格式化输出以箭头分隔各个数据项直观地表示出它们之间的链接关系。更新 cur指针使其指向下一个节点通过 cur.next 获取。这一步非常重要因为它确保了我们在下一次迭代时能够访问链表中的下一个节点。当循环结束后我们额外打印一个 null表示链表的终止。这是为了更清晰地展示链表结构表明没有更多的节点了。 public void display() {ListNode cur head;while(cur ! null) {System.out.print(cur.val -);cur cur.next;}System.out.println(null);} 2).size() -- 求链表的长度 定义count变量,记录cur向后走的次数,每走一步,count public int size() {ListNode cur head;int count 0;while(cur ! null) {count;cur cur.next;}return count;} 3).addFirst(int val) -- 头插法 1. 将head头节点的地址传给node.next  2. 然后让head指向node         注意: 这里两步的顺序不可以交换 , 否则 就是自己指向自己了 public void addFirst(int val) {ListNode node new ListNode(val);node.next head;head node;} 4).addLast(int val) -- 尾插法 1.为了避免head null 报错, 先进行判断,若head null , 则 head  node,然后return掉. 2.若head ! null , 则 这通过循环找到 cur.next null ,最后让cur.next node. public void addLast(int val) {ListNode node new ListNode(val);if(head null) {head node;return;}ListNode cur head;while(cur.next ! null) {cur cur.next;}cur.next node;} 5).addIndex -- 在任意位置插入 1.判断index的合法性: (1). 定义一个 checkIndex(int index) 方法用来检查 index 的合法性 2.index 0 || index size();前者相当于是头插直接调用 addFirst(),后者相当于是尾插直接调用 addLast() 3.找到 index 的前一个位置,创建一个 findIndexSubOne(int index) 方法,创建一个节点 cur 来接收调用方法的返回值, 最后 cur 就是 index 位置的前一个节点了 4.进行连接,实例化一个所带数据为 val 的节点 node, node.next cur.next; cur.next node; public void addIndex(int index,int val) {// 1.判断index的合法性try {checkIndex(index);} catch(IndexNotLegalException e) {e.printStackTrace();}// index 0 || index size()if(index 0) {addFirst(val);return;} else if(index size()) {addLast(val);return;}// 3.找到index前一个位置ListNode cur findIndexSubOne(index);// 4.进行连接ListNode node new ListNode(val);node.next cur.next;cur.next node;}public ListNode findIndexSubOne(int index) {ListNode cur head;for (int i 0; i index - 1; i) {cur cur.next;}return cur;}public void checkIndex(int index) {if(index 0 || index size()) {throw new IndexNotLegalException(index位置不合法);}}public class IndexNotLegalException extends RuntimeException {public IndexNotLegalException() {}public IndexNotLegalException(String message) {super(message);}} 6).contains(int val) -- 链表中是否包含某个元素 遍历链表,如果能在链表中找到val,则返回true,否则,返回false public boolean contains(int val) {ListNode cur head;while(cur ! null) {if(cur.val val) {return true;}cur cur.next;}return false;} 7). remove(int key) -- 删除第一次出现的关键字的节点 1.首先判断链表是否为空         2.循环遍历 : cur.next ! null         3.找到val值的前一个节点cur : 当cur.next.val val 时,找到目标         4.进行删除 public void remove(int key) {// 如果链表为空if(head null) {return;}// 如果第一个元素就为val时if(head.val key) {head head.next;return;}ListNode cur head;while(cur.next ! null) {if(cur.next.val key) {cur.next cur.next.next;return;}cur cur.next;}} 8).removeAll(int val) -- 删除所有出现的关键字的节点 定义两个引用变量 cur 代表当前需要删除的节点prev 代表当前需要删除节点的前驱 若 cur.val val prev.next cur.nextcur cur.next否则 prev curcur cur.next处理头节点 public void removeAll(int key) {if(head null) {return;}ListNode prev head;ListNode cur head.next;while(cur ! null) {if(cur.val key) {prev.next cur.next;cur cur.next;} else {prev cur;cur cur.next;}}// 除了头节点都删除完成if(head.val key) {head head.next;}} 9).clear() -- 清空 回收对象,防止浪费 : head null; public void clear() {this.head null;}
http://www.dnsts.com.cn/news/87661.html

相关文章:

  • 快盘做网站服务器平潭建设局网站
  • 可发外链的高权重网站怎样自己做商场网站
  • 校园网站建设的意见与建议电商网站开发研究内容和预期成果
  • 付网站建设费会计分录wordpress文章状态
  • 网站建设服务器 几核手机如何制作app
  • 做网站需要代码么怎么制作网站弹出广告
  • 做钢材什么网站好个人网站租用服务器
  • 沧州百度建设网站个人网站如何在工信部备案
  • wordpress站点打不开江门有什么网站推广
  • 网站建设分金手指专业十二网站建设套餐报价方案
  • 做的网站为什么手机上搜不到凡科网登录电脑端
  • 西部数码虚拟主机怎么做网站做网站一天
  • 网站建设丽水百度网站优化 件
  • 网站建设公司一般多少钱电商运营面试
  • wordpress本地更换为网站域名广州app网站开发
  • 简单网站html模板下载地址机加工订单网
  • 看视频做那个网站好建站有哪些公司
  • 模板网站劣势西安网站制作建设
  • 网站切图是指什么天津网站开发贴吧
  • 有专门教做儿童美食的网站吗衡阳网站制作公司
  • 做网站推广引流效果好吗电子商务网站设计策划书
  • 外贸网站推广和建站平湖市住房和城乡规划建设局网站
  • 云端智能建站系统医疗器械网站前置审批
  • 中国建设交易信息网站顺德网站制作案例信息
  • 网站seo推广营销网页版微信怎么退出
  • 网站建设可以一次性进损益吗网站模糊背景
  • 电商开发网站公司东山网站建设
  • 凡科做的微网站怎样连接公众号发布的手机网站是乱码
  • html 网站新功能介绍维护网页
  • 网站修改图片链接seo关键词推广案例