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

中国住房和城乡建设部网站安全seo搜索引擎优化就业前景

中国住房和城乡建设部网站安全,seo搜索引擎优化就业前景,网站建设价格都信真甲先生,广告设计与制作专业属于什么大类复制带随机指针的链表 第一步 拷贝节点链接在原节点的后面 第二步拷贝原节点的random , 拷贝节点的 random 在原节点 random 的 next 第三步 将拷贝的节点尾插到一个新链表 ,并且将原链表恢复 从前往后遍历链表 ,将原链表的每个节点进行复制,并l链接到原…

复制带随机指针的链表

第一步 拷贝节点链接在原节点的后面
第二步拷贝原节点的random , 拷贝节点的 random 在原节点 random 的 next
第三步 将拷贝的节点尾插到一个新链表 ,并且将原链表恢复

从前往后遍历链表 ,将原链表的每个节点进行复制,并l链接到原节点的后面
malloc 一个节点copy

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

cur 往后走 ,不能写成cur =cur->next ,因为已经改变了链接关系,找不到cur的下一个节点的地址了

第一步的代码

struct Node* copyRandomList(struct Node* head){struct Node * cur = head ;//cur 走到NULL 结束 while(cur){struct Node * copy = ( struct Node *)malloc ( sizeof( stuct Node)); //拷贝copy->val = cur->val;struct Node *  next = cur->next ;// 改变链接关系  cur copy next  cur->next =copy ;copy->next = next ;//cur 往后走  ,不能写成cur =cur->next ,因为已经改变了链接关系,找不到cur的下一个节点的地址了 cur = next ;}
}

对原链表 random 指针的复刻 , 即原节点 的 random 拷贝到 拷贝节点 的 random 里面

在这里插入图片描述

原节点 13的random指针指向原节点 7 ,拷贝的新节点 13的random指针也需要指向拷贝的节点7
如果原节点的random指针指向NULL ,新拷贝的节点的random指针也指向NULL

第二步的代码

//处理拷贝节点的random while(cur){struct Node * copy = cur->next ;if(cur->random  == NULL){copy->random = NULL ;//如果原节点的random指针指向NULL ,新拷贝的节点的random指针也指向NULL}else {copy->random = cur->random->next ;// 对原链表 random 指针的复刻}cur = cur->next->next ;}

在这里插入图片描述

上图中,我们可以观察到原节点 13的random指针指向原节点 7,拷贝的新节点13的random指针指向的是原节点7的next

推广一下也就是说
原节点 i 的random指针,指向的是原节点 j
那么新拷贝的节点 的random指针,指向的是原节点 j 的 next

但是这样下来 已经破坏了原链表 ,所以下一步是将拷贝的节点尾插到一个新链表 ,并且将原链表恢复

尾插
在这里插入图片描述

恢复原链表
在这里插入图片描述
在这里插入图片描述
第三步代码

    //将拷贝的新节点尾插到一个新链表, 并恢复原链表cur =head ;struct Node * copyhead  = NULL , * copyTail = NULL ;while( cur){   struct Node *   copy =cur->next ;struct Node * next = copy->next ; //尾插if( copyhead ==NULL){copyhead = copyTail = copy ;}else{copyTail->next = copy ;copyTail = copyTail->next ;}//恢复原链表cur->next = next ;cur = next ;}

完整代码

struct Node* copyRandomList(struct Node* head){struct Node * cur = head ;//cur 走到NULL 结束 while(cur){struct Node * copy = ( struct Node *)malloc ( sizeof( struct Node)); //拷贝copy->val = cur->val;struct Node *  next = cur->next ;// 改变链接关系  cur copy next  cur->next =copy ;copy->next = next ;//cur 往后走  ,不能写成cur =cur->next ,因为已经改变了链接关系,找不到cur的下一个节点的地址了 cur = next ;}cur = head ;//处理拷贝节点的random while(cur){struct Node * copy = cur->next ;if(cur->random  == NULL){copy->random = NULL ;}else {copy->random = cur->random->next ;//}cur = cur->next->next ;}//将拷贝的新节点尾插到一个新链表, 并恢复原链表cur =head ;struct Node * copyhead  = NULL , * copyTail = NULL ;while( cur){   struct Node *   copy =cur->next ;struct Node * next = copy->next ; //尾插if( copyhead ==NULL){copyhead = copyTail = copy ;}else{copyTail->next = copy ;copyTail = copyTail->next ;}//恢复原链表cur->next = next ;cur = next ;}return  copyhead ;}

如果你觉得这篇文章对你有帮助,不妨动动手指给点赞收藏加转发,给鄃鳕一个大大的关注
你们的每一次支持都将转化为我前进的动力!!

http://www.hrbkazy.com/news/43219.html

相关文章:

  • txt免费全本电子书软件下载网站山西seo优化公司
  • 贸易公司如何做网站今日足球比赛预测推荐分析
  • c2c模式在我国开始于1999年的东莞seo黑帽培训
  • 手机优化加速有什么用广州抖音seo公司
  • 花桥网站制作一站式营销平台
  • 程序员怎么做网站赚钱最新经济新闻
  • 网页打不开验证码图片seo外链推广平台
  • 那些行业做网站优化的比较多抖音矩阵排名软件seo
  • 上海市建设干部学校网站免费的模板网站
  • 想要做一个网站旺道seo软件技术
  • 义乌网站电商代运营
  • 聊城做网站费用价位宁德市自然资源局
  • 手机网站模板html网页制作软件有哪些
  • app推广放单平台重庆seo全网营销
  • 南山网站建设公排行榜软件
  • 微信小程序怎么加入我的小程序seo优化技术排名
  • 舟山的房子做民宿上什么网站营销型网站策划
  • 怎样做摄影网站初学seo网站推广需要怎么做
  • 万动力网站网站seo推广方案
  • 如何下载js做的网站百度客户端下载安装
  • 黑白色调网站2345网址导航主页
  • 网站制作+app+公众号西安百度竞价开户
  • 网站开发问题论文windows优化大师有哪些功能
  • wordpress4.9.8火车头郑州优化网站公司
  • 中文做网站艾滋病多久可以查出来
  • wordpress清空seo优化什么意思
  • wordpress 防黑seo推广有哪些方式
  • 怎么选择一个好的友情链接网站泰州网站排名seo
  • 安徽省工程建设信息官方网站搜索引擎推广渠道
  • 住房和建设部网站中山网站seo