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

那个网站做外贸最好深圳软件开发公司在哪里

那个网站做外贸最好,深圳软件开发公司在哪里,传媒公司 网站开发,软件开发工程师是什么职业LinkedList的模拟实现#xff08;底层是一个双向链表#xff09;LinkedList使用 LinkedList的模拟实现#xff08;底层是一个双向链表#xff09; 无头双向链表#xff1a;有两个指针#xff1b;一个指向前一个节点的地址#xff1b;一个指向后一个节点的地址。 节点定… LinkedList的模拟实现底层是一个双向链表LinkedList使用 LinkedList的模拟实现底层是一个双向链表 无头双向链表有两个指针一个指向前一个节点的地址一个指向后一个节点的地址。 节点定义和链表初始化 class ListNode{int val;ListNode prev;ListNode next;public ListNode(int val) {this.val val;}}ListNode head;ListNode tail;public void createList(){//初始化链表 ListNode ListNode1new ListNode(1);ListNode ListNode2new ListNode(1);ListNode ListNode3new ListNode(1);ListNode ListNode4new ListNode(1);ListNode ListNode5new ListNode(1);ListNode ListNode6new ListNode(1);ListNode1.nextListNode2;ListNode2.nextListNode3;ListNode3.nextListNode4;ListNode4.nextListNode5;ListNode5.nextListNode6;//还要绑定prevListNode6 ListNode5.prev;ListNode5 ListNode4.prev;ListNode4 ListNode3.prev;ListNode3 ListNode2.prev;ListNode2 ListNode1.prev;tailListNode6;//指向尾节点this.headListNode1; }打印链表 public void myprintf(){ListNode curhead;while(cur!null){System.out.println(cur.val);curcur.next;}}头插法分两种情况1有多个节点需要修改3个地方2没有节点的时候插入。tail是我们定义的尾巴 1head指向 2原来头节点的null位置指向 3插入的这个节点的next域 //头插法public void addFirst(int data) {ListNode node new ListNode(data);if (head null) {//空链表的情况下头插head node;tail node;} else {//首先我们知道3个东西需要修改改之前好好想一下这个东西还有没有作用如果有你就不能先改或者把值存起来node.next head;head.prev node;head node;}}尾插法和头插差不多也是分两种情况1空链表2有多个节点情况需要修改3个地方 //尾插法public void addLast(int data){ListNode node new ListNode(data);if (head null) {//空链表的情况下尾插情况一样head node;tail node;} else {//这时候我们的指向尾的指针就有用了tail.nextnode;node.prevtail.prev;tailnode;//尾插后尾得更新一下这个容易忘}}任意位置插入分空链表单独处理和多个节点需要先遍历找到位置需要修改4个指向。我们需要判断一下插入的位置合法不合法 //任意位置插入,第一个数据节点为0号下标public boolean addIndex(int index,int data){//index位置合法性ListNode node new ListNode(data);if (head null) {//空链表的情况下尾插情况一样head node;tail node;return true;}if(index0||indexsize()){System.out.println(插入的位置不合法);return false;}if(index0){//头插addFirst( data);return true;}if(indexsize()) {//尾插addLast (data);return true;}ListNode cur1select( index);node.nextcur1;//前驱节点我不知道怎么表示//prev指向前驱的地址前驱地址又可以.prev/.next//cur1.prev.next cur1.prev找到前一个的地址cur1.prev.nextnode;node.prevcur1.prev;cur1.prevnode;return true;}找位置 public ListNode select(int index){ListNode curhead;while(index0){curcur.next;}return cur;}删除第一次出现值为key节点 我们先不考虑头尾先考虑中间情况 前驱的next等于当前的next跳过中间 cur.next前驱等于cur前驱 算上头尾情况的整体代码 上述代码还不够只有一个节点的情况lhead.prev;没有前驱空指针异常都没有前驱上述代码还要找前驱在第7行代码还得再套一层娃 清除函数 为什么单向链表清除能直接headnull而双向链表不能headnull、tailnull缺不行 理论上单向链表也是要将所有的节点都置为null双向链表为了更好1及时释放内存空间就是正常情况下headnull和tailnull它的中间节点也是会被垃圾回收器回收的 LinkedList使用 带参数构造方法实现这个接口的都可以传进来顺序表实现了这个接口所以把顺序表传过去也行链表顺序表add都是默认尾插的。 foreach遍历 迭代器遍历 反向遍历 ArrysList和LinkedList区别 增删改查上、储存上呢
http://www.yutouwan.com/news/342824/

相关文章:

  • 网站的总体方案与功能设计WordPress用户发表插件
  • 网站建设相关资质株洲网站制作建设
  • 网站模板好购物商城网站搭建
  • 南通网站建设方案外包池州网站建设
  • 网站设计制作音乐排行榜平台网站建设 厦门
  • 购物网站商城做网站团队
  • 做外单网站做汽车租赁主要的网站
  • intitle 郑州网站建设旅游政务网站建设方案
  • 专业seo网站优化公司综合查询
  • 网站描述优化php学校网站源码
  • 网站建设合同用贴印花税吗无需注册免费创建网站
  • 奥尔马手表官方网站wordpress怎么搜站点
  • 电子信箱注册网站旅游景点介绍网页制作
  • 关于公示网站建设的计划书南通网站排名优化公司
  • 网站优化外链wordpress注册未发邮件
  • 网站建设 加盟3d建模游戏
  • 网站群建设模板迁移原站迁移pc小型网站建设源码
  • 长沙 外贸网站建设公司排名word可以做网页
  • wap门户网站wordpress 百度提交
  • 网站设置5个关键词大连网站建设方案维护
  • 网站搭建合同东丰在线网站建设
  • 上海做家纺的公司网站百度识图鉴你所见
  • 唐山自助建站软件阳江房地产信息网官方网站
  • 学校网站建设主要成绩广州做网站建设的公司
  • 360做网站多少钱一年做里番网站犯法吗
  • 佛山建网站费用如何检查网站是否被挂木马
  • 合肥 网站建设公司哪家好张家港微网站
  • 做卖车网站需要什么手续驻马店app和网站开发公司
  • 企业网站seo数据近三个月以来的国际新闻
  • 深圳seo培训seo顾问赚钱吗