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

总算把网站设计好了重庆论坛

总算把网站设计好了,重庆论坛,开先建设集团网站,正规网站建设公司一般要多少钱目录 思路设计 总体思维导图 插入部分 头插法尾插法 任意位置插入 删除部分 头结点 尾节点 中间节点 只有头结点且删除的就是头结点 ​编辑 清空链表部分 遍历清空链表的所有节点 不遍历清空 各部分代码 Main部分 MyListedList部分 IndexOutOfException部分 …目录 思路设计 总体思维导图 插入部分 头插法尾插法 任意位置插入 删除部分 头结点 尾节点 中间节点 只有头结点且删除的就是头结点 ​编辑 清空链表部分 遍历清空链表的所有节点 不遍历清空 各部分代码 Main部分 MyListedList部分 IndexOutOfException部分 总结 思路设计 设计MainMyListedListIndexOutOfException 三个文件。 Ma负责主函数的运行MyList负责各种方法IndexOut负责输入错误的提示。 总体思维导图 插入部分 头插法尾插法 任意位置插入 删除部分 头结点 尾节点 中间节点 只有头结点且删除的就是头结点 清空链表部分 遍历清空链表的所有节点 不遍历清空 各部分代码 Main部分 public class Main {public static void main(String[] args) {//这个是顺序表的写法现在是双向链表//MyListedListInteger myListedList new MyListedList();MyListedList myListedList new MyListedList();myListedList.addFirst(1);myListedList.addFirst(2);myListedList.addFirst(3);myListedList.addFirst(4);/*myListedList.addLast(1);myListedList.addLast(2);myListedList.addLast(3);myListedList.addLast(4);*///System.out.println(myListedList.size());//System.out.println(myListedList.contains(10));//myListedList.display();//myListedList.addIndex(0,99);//myListedList.display();myListedList.removeAllKey(1);myListedList.clear();myListedList.display();} } MyListedList部分 public class MyListedList {static class ListNode{private int val;private ListNode prev;private ListNode next;//重写构造方法得以调用//才能保证下面传入的data能使用//ListNode node new ListNode(data);public ListNode(int val) {this.val val;}}//双向链表的头节点public ListNode head;//双向链表的尾节点public ListNode last;//得到单链表的长度//size,display,contains都是要遍历定义头指针public int size(){ListNode cur head;int count 0;while (cur ! null){count;cur cur.next;}return count;}public void display(){//遍历定义一个头结点指针让其不断往后走ListNode cur head;while (cur ! null){System.out.print(cur.val );cur cur.next;}System.out.println();}//查找是否包含关键字key是否在单链表当中public boolean contains(int key){ListNode cur head;while (cur ! null){if(cur.val key){return true;}cur cur.next;}return false;}//头插法public void addFirst(int data){ListNode node new ListNode(data);//如果插入的节点的前后指针都是空的话//要修改链表里面的头尾指针if(head null){head node;last node;}else {//先改变next再改变pervnode.next head;head.prev node;head node;}}//尾插法public void addLast(int data){ListNode node new ListNode(data);if(head null){head node;last node;}else {last.next node;node.prev last;last node;//或者 last last.next}}//任意位置插入,第一个数据节点为0号下标public void addIndex(int index,int data){checkIndex(index);if(index 0){addFirst(data);return;}if(index size()){addLast(data);return;}//声明curListNode cur seachIndex(index);ListNode node new ListNode(data);node.next cur;cur.prev.next node;node.prev cur.prev;cur.prev node;}//定义cur找到插入的位置private ListNode seachIndex(int index){ListNode cur head;while (index ! 0){cur cur.next;index--;}return cur;}private void checkIndex(int index){if (index 0 || index size()){//可以自定义抛出RuntimeException运行异常一个异常throw new IndexOutOfException(index 不合法index);}}//删除第一次出现关键字为key的节点public void remove(int key){ListNode cur head;if(head null) {head cur;last cur;}while (cur ! null){if(cur.val key){//如果要删除的是头结点if(cur head){//移动位置head head.next;//只有头节点且其就是删除的节点if(head ! null){head.prev null;}else {last null;}}else {//删除中间节点if(cur.next ! null){cur.prev.next cur.next;cur.next.prev cur.prev;} else {//删除尾巴节点cur.prev.next cur.next;last last.prev;}}return;}else {cur cur.next;}}}//删除所有值为key的节点public void removeAllKey(int key){ListNode cur head;if(head null) {head cur;last cur;}while (cur ! null){if(cur.val key){//如果要删除的是头结点if(cur head){//移动位置head head.next;//只有头节点且其就是删除的节点if(head ! null){head.prev null;}else {last null;}}else {//删除中间节点if(cur.next ! null){cur.prev.next cur.next;cur.next.prev cur.prev;} else {//删除尾巴节点cur.prev.next cur.next;last last.prev;}}//删除key数据了之后往后走查看//是否还有要删除的数据去遍历cur cur.next;//return;}else {//就算这个数据不是我要删除的数据我也往后走去遍历cur cur.next;}}}public void clear(){ListNode cur head;while (cur ! null){ListNode curNext cur.next;if(cur null){cur curNext;}else {cur.next null;cur.prev null;cur curNext;}}head null;last null;} }IndexOutOfException部分 public class IndexOutOfException extends RuntimeException{//提供两个构造方法public IndexOutOfException() {}public IndexOutOfException(String message) {super(message);} }总结 部分方法大体上写法都大致相同关键在于具体方法部分比如删除的节点就只有一个而且这个要删除的节点就是头结点那么这种特殊情况是在写完正常删除操作后输入数据判断得到的结果针对这样的情况要画图分析一步一步慢慢思考如何设计程序代码出错没有关系再次调试画图看看有没有漏掉的地方一次次修改相信最终会获得成功完成任务的代码。 数据结构的核心就是代码容易写思考最难想的一个学习过程由此可见画图在帮助我们理清思路规整代码写法的时候就尤为重要 希望这篇博客能给读者在学习数据结构时提供一些帮助。
http://www.w-s-a.com/news/868322/

相关文章:

  • 引流用的电影网站怎么做2012服务器如何做网站
  • 什么网站可以做推广广州安全信息教育平台
  • 网站开发具备的相关知识wordpress简约文字主题
  • asp网站伪静态文件下载seo外包公司哪家好
  • 淘宝客网站根目录怎么建个废品网站
  • 网站备案更改需要多久百度免费网站空间
  • 外发加工是否有专门的网站wordpress主页 摘要
  • 企业网站优化系统浙江建设信息港证书查询
  • 很多年前的51网站如何做跨境电商需要哪些条件
  • 网站建设中 请稍后访问互联网营销设计
  • 软文网站名称用户浏览网站的方式
  • 大兴模版网站搭建哪家好网站建设与管理管理课程
  • 四川成都网站制作微信广告平台推广
  • 网站价格网页制作网站开发实训步骤
  • cms 导航网站鹤壁做网站价格
  • 微信营销软件免费版郑州关键词优化费用
  • 邢台专业做网站哪家好临沂网站建设中企动力
  • 建设网站是主营成本吗wordpress 后台
  • 猎头可以做单的网站企业网站建设
  • 建小程序需要网站吗在putty上怎样安装wordpress
  • 天津智能网站建设找哪家WordPress相册插件pro
  • 电脑网站页面怎么调大小济宁网站建设软件开发
  • 亿玛酷网站建设广州增城区最新消息
  • 企业网站视频栏目建设方案中企动力网站模板
  • 网站页面策划国外注册域名的网站
  • 百中搜如何做网站排名网站维护一年一般多少钱
  • 镇江地区做网站的公司wordpress说说加分类
  • 深圳高端网站设计免费的关键词优化软件
  • 视频网站公司沈阳网站建设服务
  • 网站全屏代码做网站必须用对方服务器