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

怎么做盗版小说网站吗外链网站推荐

怎么做盗版小说网站吗,外链网站推荐,wordpress主题很卡,大连城乡建设网站需求 思路 链表必有节点&#xff0c;节点两要素&#xff1a;当前元素值&#xff0c;下一个节点地址 import java.util.Scanner;// 定义一个单向链表 public class MyLinkedList<E> {int size 0;// 顶一个私有的内部类&#xff0c;表示链表的节点public class Node {E da…

需求

在这里插入图片描述
在这里插入图片描述

思路

  • 链表必有节点,节点两要素:当前元素值,下一个节点地址
import java.util.Scanner;// 定义一个单向链表
public class MyLinkedList<E> {int size = 0;// 顶一个私有的内部类,表示链表的节点public class Node {E data;Node next;public Node(E data, Node next) {this.data = data;this.next = next;}}
}

添加节点

  • 第一次插入直接插入头结点
  • 后面都使用尾插法,插入到最后一个元素的后面(所以需要一个一个遍历)
// 添加节点
public Node add(E e) {Node head = null;Scanner scanner = new Scanner(System.in);while (true) {System.out.println("请输入数据,输入exit退出");String data = scanner.next();if (data.equals("exit")) {break;}if (head == null) {// 如果头节点为空,直接创建一个新的节点head = new Node((E) data, null);} else {// 尾插法 添加新的节点// 如果头节点不为空,找到最后一个节点,然后在最后一个节点的后面添加一个新的节点Node temp = head;while (temp.next != null) {temp = temp.next;}// 在最后一个节点的后面添加一个新的节点temp.next = new Node((E) data, null);}size++;}return head;
}

遍历

// 遍历链表 从头节点开始遍历
public void Foreach(Node head) {Node temp = head;if (head == null) {System.out.println("链表为空");return;}while (temp != null) {System.out.println(temp.data + " ");temp = temp.next;}
}

链表指定位置反转

  • 下标异常直接返回头结点
  • 先找到left的前一个节点,方便下次重置的时候直接找到left
  • 将left和right之间的内容存储到一个数组中
  • 对数组的内容进行折半反转
  • 遍历left到right节点,将反转之后的内容替换进去
  // 链表反转(不一定要反转节点,反转节点的内容也可以)public Node reverse(Node head,int left,int right) {if (head == null ||left < 1 || left > size || right < 1 || right > size || left >= right) {return head;}//1. 找到left的前一个节点Node pre = null;Node leftNode = head;E[] data = (E[]) new Object[right - left + 1];for (int i = 1; i <= right; i++) {// 找到left的前一个节点if (i == left - 1) {pre = leftNode;}// 从left到right的节点的数据存储到数组中if (i >= left && i <= right){data[i - left] = leftNode.data;}// leftNode指向下一个节点leftNode = leftNode.next;}//2. 找到right的后一个节点Node rightNode = leftNode;// 3.反转data数组for (int i = 0; i < data.length / 2; i++) {E temp = data[i];data[i] = data[data.length - i - 1];data[data.length - i - 1] = temp;}// 4.从pre节点开始,将data数组中的数据赋值给链表中的节点for (int i = 0; i < data.length; i++) {pre.next.data = data[i];pre = pre.next;}return head;}

测试:

MyLinkedList<String> myLinkedList = new MyLinkedList<>();
MyLinkedList<String>.Node head = myLinkedList.add("aa");
myLinkedList.Foreach(head);
myLinkedList.reverse(head,2,4);
System.out.println("反转后的链表");
myLinkedList.Foreach(head);
  • 反转前的链表:aa bb cc dd ee ff gg
  • 反转后的链表:aa dd cc bb ee ff gg
http://www.yidumall.com/news/63214.html

相关文章:

  • 网站建设需要哪些硬件成都网站制作维护
  • 企业网站如何维护自己建网站的详细步骤
  • wordpress交互主题电商网站seo优化
  • 网站还没完成 能备案吗seo优化师是什么
  • 做网站和做网店哪个好大数据精准营销系统
  • 学用mvc4做网站关键词优化怎么做
  • 简易微网站模板广州seo公司
  • 做期权注册网站网站推广的具体方案
  • 交互式网站开发技术包括北京网站开发
  • 自己网站做seo网站建设流程步骤
  • c 网站开发人员工具做网站seo推广公司
  • 网站开发周期和进度管理推广怎么推
  • 做时时彩怎么做网站产品营销软文
  • 网站备案把二级域名放在国外快速优化网站排名软件
  • 网站建设的四个步骤网站制作公司高端
  • 法院网站建设情况百度指数在哪里看
  • 蚌埠网站制作公司价格网站seo需要用到哪些工具
  • 上海网站建设官网如何进行网站性能优化
  • asp在动态网站制作中的作用企业网站搜索引擎推广方法
  • o2o商城网站建设供应培训教育机构
  • 柴油价今日价格天津百度seo排名优化
  • 集团型网站建设厉害的seo顾问
  • 怎样做金融网站郑州网站建设推广优化
  • 汕头企业网站建设网站seo哪里做的好
  • 寓意好的公司名字seo优化关键词0
  • 变态动漫做那个的视频网站线上营销推广方案模板
  • 提供温州手机网站制作哪家便宜外贸软件
  • 东莞整站优化火速公司深圳全网营销型网站
  • 门户网站做seo黑帽seo培训大神
  • 东营专业网站建设公司排行洛阳seo网络推广