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

游戏开发 网站开发购物软件

游戏开发 网站开发,购物软件,做网站长沙,网站升级页面连接设置目录 一、介绍尾插 1.链表为空 2.链表不为空 二、题目介绍 三、思路 四、代码 五、代码解析 1. 2. 3. 4. 5. 6. 六、注意点 1. 2. 一、介绍尾插 整体思路为 1.链表为空 void SLPushBack(SLTNode** pphead, SLTDataType x) {SLTNode* newnode BuyLTNode(x); …目录 一、介绍尾插 1.链表为空 2.链表不为空 二、题目介绍 三、思路 四、代码 五、代码解析 1. 2. 3. 4. 5. 6. 六、注意点 1. 2. 一、介绍尾插 整体思路为 1.链表为空 void SLPushBack(SLTNode** pphead, SLTDataType x) {SLTNode* newnode BuyLTNode(x); //每次尾插都要建立新的节点 //BuyLTNode(x)该函数用于得到新节点if (*pphead NULL) //没有节点先赋值。 赋值不需要用到 tail {*pphead newnode;}} 需要注意的是第一次尾插只需要插入数据计科并不需要建立tail指针、进行后移等操作 2.链表不为空 else //此时才会用到 tail {SLTNode* tail *pphead;while (tail-next ! NULL) //找尾{tail tail-next;}tail-next newnode; } 此时需要1.找尾 2.插入数据 二、题目介绍 203. 移除链表元素 已解答 简单 相关标签 相关企业 给你一个链表的头节点 head 和一个整数 val 请你删除链表中所有满足 Node.val val 的节点并返回 新的头节点 。 示例 1 输入head [1,2,6,3,4,5,6], val 6 输出[1,2,3,4,5]示例 2 输入head [], val 1 输出[]示例 3 输入head [7,7,7,7], val 7 输出[] 三、思路 新建一个newhead指针和 tail 指针将不是val的节点尾插到tail中。 四、代码 /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/struct ListNode* removeElements(struct ListNode* head, int val) {struct ListNode* tail NULL, *newhead NULL; //*newhead 不是newheadstruct ListNode* cur head;while(cur){if(cur-val ! val){if(newhead NULL) //没有节点的时候只需要插进去即可并不需要指针后移{newhead tail cur; //tail从newcode开始}else //应该在此处将整个链表串接{tail-next cur; //tail本质是指向cur的空间tail tail-next;}cur cur-next; //为了防止tail和cur指向同一块空间。cur先往后走tail-next NULL; //tail的下一个节点置空。}else{struct ListNode* del cur; //要删除的元素暂存在del中cur cur-next;free(del); }}return newhead;} 五、代码解析 1. struct ListNode* tail NULL, *newhead NULL;   //*newhead 不是newhead struct ListNode* cur head; 新建指针利用cur去遍历节点。 2. if(newhead NULL) //没有节点的时候只需要插进去即可并不需要指针后移 { newhead tail cur;   //tail从newcode开始 } 类比尾插没有节点的时候 3. else    //应该在此处将整个链表串接 { tail-next cur;     //本质是让tail指向cur的空间。tail只是一个指针 tail tail-next; } 类比有节点的尾插 4. cur cur-next;     tail-next NULL;             //为了防止出现野指针问题heap-use-after-free 释放后的堆使用 在while循环的第一个条件中应用该语句链接整个链表作为循环的控制语句。 5. else { struct ListNode* del cur;    //要删除的元素暂存在del中 cur cur-next; free(del);   } 当元素val等于的时候需要借助一个del指针删除需要删除的元素。 6. return newhead;        返回新的节点 六、注意点 需要注意的是 1. cur cur-next;    tail-next NULL; ①作为循环的控制语句可以写在 子if 之外 ②应该先让cur后移再让tail的next指针置空。 若先置空tail-next那么此时tail与cur是指向同一节点此时cur的next也将置空 ③若链表的尾val也需要删除此时freetail之后仍存在一个指向不明的野指针 ④若子if 子else句同时用到的语句且不存在先后问题先后问题指一般无删除 此时可以将共同的语句封装在外部。 ⑤尾插是让tail不断赶上cur让cur始终领先于或平齐于tailtail是新链表的尾部。 2. 尾插的思想常用在对链表节点的重新排序。 需要用到 tail        newhead         cur遍历节点三个指针 其思想是将单个链表中符合要求的节点放到两个链表中分析但需要在原来的链表中实现
http://www.hkea.cn/news/14324812/

相关文章:

  • 酒厂网站模板电商网页设计师
  • 国内做新闻比较好的网站有哪些租域名和服务器要多少钱
  • 龙岗网站优化公司案例深圳市南山区网站建设
  • 杨浦手机网站建设wordpress 主教程从零始制作wordpress
  • 加强网站政务服务建设购物网站销售管理
  • 网页制作网站建设实战大全莱芜网吧恢复营业
  • wordpress网站更改主题信息咸阳鑫承网站建设
  • 宁波公司建网站哪家好网站条形码如何做
  • 便利的网站建设网站设计的硬件
  • 南宁企业网站排名优化网站后台传不了图片
  • 重庆开县网站建设公司嘉兴搜索引擎网站推广
  • 网站后台上图片后网页显示不正确怎么做网站教程html文本文档
  • 谷歌google官方网站响应式网站开发流程
  • 企业网站的域名是该企业的深圳网站建设公司信任湖南岚鸿信 赖
  • 山西做网站哪个好建立企业网站的技能
  • 外贸网站建站多少钱响应式企业网站案例
  • 莘县做网站推广深圳品牌床垫有哪些
  • 厦门市建设局综合业务平台网站织梦行业网站模板
  • 思乐网站建设网站正在建设中请稍后
  • 可以上传自己做的视频的网站吗做网站网页维护手机App开发
  • 自助建站seo网站开发时如何设计英文版本
  • 做淘宝网站模块化网页制作软件
  • 高端型网站建设Wordpress 视频界面
  • 基于vue.js旅游网站开发宜宾长宁网站建设
  • 上海哪个网站专门做宝宝宴的龙岩app设计
  • 网站推广渠道怎么做养车网站开发
  • 学院网站建设目的与意义网站设计效果专业乐云seo
  • 企业网站模板湖南岚鸿模板做网站造假
  • 广州企业建站公司易支付对接WordPress
  • wordpress导航网站模板被网络运营公司骗了去哪里投诉