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

大连网站哪家做的好中国建设很行河北省分行合作网站

大连网站哪家做的好,中国建设很行河北省分行合作网站,给别人做金融网站 犯法吗,天元建设集团有限公司承兑目录 前言 01销毁链表 02 清空链表 测试代码 前言 #x1f3ac; 个人主页#xff1a;ChenPi #x1f43b;推荐专栏1: 《C_ChenPi的博客-CSDN博客》✨✨✨ #x1f525; 推荐专栏2: 《Linux C应用编程#xff08;概念类#xff09;_ChenPi的博客-CSDN博客》✨✨✨ …目录 前言  01销毁链表  02 清空链表 测试代码 前言  个人主页ChenPi 推荐专栏1: 《C_ChenPi的博客-CSDN博客》✨✨✨  推荐专栏2: 《Linux C应用编程概念类_ChenPi的博客-CSDN博客》✨✨✨ 推荐专栏3: ​​​​​​《 链表_ChenPi的博客-CSDN博客》 ✨✨✨ 本篇简介  :  链表清空链表|销毁链表 ✨ 只有我努力了 才有机会接触成功✨ 链表是一种常见的基础数据结构结构体指针在这里得到了充分的利用。链表可以动态的进行存储分配也就是说链表是一个功能极为强大的数组他可以在节点中定义多种数据类型还可以根据需要随意增添删除插入节点。链表都有一个头指针一般以head来表示存放的是一个地址。链表中的节点分为两类头结点和一般节点头结点是没有数据域的。链表中每个节点都分为两部分一个数据域一个是指针域。说到这里你应该就明白了链表就如同车链子一样head指向第一个元素第一个元素又指向第二个元素……直到最后一个元素该元素不再指向其它元素它称为“表尾”它的地址部分放一个“NULL”表示“空地址”链表到此结束。 作为有强大功能的链表对他的操作当然有许多比如 链表的创建链表的链表的遍历打印数据链表里面的结构体数据的修改链表节点的删除链表插入新节点链表的数据排序链表的反序清空链表的元素求链表的长度等 在前面几章我们学习了 链表的创建链表的链表的遍历打印数据链表里面的结构体数据的修改求链表的长度等还有链表结尾插入数据节点非指定节点链表指定节点后方插入数据 链表头的前方插入数据删除链表节点 今天我们学清空链表和销毁链表 单链表的销毁与清空 销毁连同头结点一起释放清空保留头结点置头结点的指针域为NULL 01销毁链表  销毁链表就是将链表在堆中构造的节点全部销毁反正内存泄漏 我们首先 要定义一个函数destroyList然后又一个参数参数为一个结构体指针用于传入链表的头节点然后返回值也是一个结构体指针不过链表销毁后链表的头节点也就是个空指针了 销毁链表的函数大致就是长这样了 编译测试一下我们先将链表清空在拿去打印试一下 没有问题链表已经被清空了链表的头指向了NULL  02 清空链表 链表的清空就是保留头结点然后让他节点的next NULL就可以代码上如上但是有一点链表是清空了但是节点的内存是否完全释放这个我确实不清楚了不过我debug查看内存的时候p最后的指向是指向NULL最后释放 这里我不是特别懂如果有大佬会的话可以个我将一下谢谢 编译测试一下没有问题链表是被清剩下一个头节点了 测试代码 #include stdio.h #include stdlib.h #include string.hstruct Link {int data;struct Link *next; };/*打印链表数据*/ void PrintLink(struct Link *head) {if(NULL head){puts(ERROR 空链表);return;}struct Link *prev head;while (NULL ! prev) {printf(%d , prev-data);prev prev-next;}printf(\n); }/*获取链表的节点数*/ int GetLinkNum(struct Link *head) {struct Link *prev head;int count 0;while (prev ! NULL){count;prev prev-next;}return count; }struct Link *getHead(int data) {struct Link* head (struct Link*)malloc(sizeof(struct Link));head-data data;head-next NULL;return head; }/* 链表头插入数据不指定位置*/ struct Link* frontInsertDataLink(struct Link *head, int data) {struct Link *prev head;struct Link *newLink (struct Link *)malloc(sizeof(struct Link));newLink-data data;newLink-next prev;return newLink; }struct Link *frontInsertNodeDataLink(struct Link *head,int NodeIndex,int data) {struct Link *prev head;int cnt 1;if(NodeIndex GetLinkNum(prev)||(NodeIndex0)){printf(ERROR: Link index out of range);return NULL;}else if (NodeIndex 1){prev frontInsertDataLink(prev,data);return prev;}while (NULL ! prev-next){if(cnt NodeIndex-1){struct Link *newLink (struct Link *)malloc(sizeof(struct Link));newLink-data data;newLink-next prev-next;prev-next newLink;return head;}cnt;prev prev-next;}return NULL; }struct Link * deleteHeadLinkNode(struct Link *head,int NodeIndex) {struct Link *prev head; //保存头节点的地址int cnt 1;if(NodeIndex GetLinkNum(prev)||(NodeIndex0)) //判断是否越界{printf(ERROR: Link index out of range);return NULL;}if(1 NodeIndex) //如果要删除头节点{head head-next;free(prev);return head;}struct Link *prior NULL; //遍历时用来保留前一个节点的状态while (NULL ! prev) //判断是不是最后一个节点{prior prev;//用来保留前一个节点的状态prev prev-next; //走向下一个节点也就是循环增量if(cnt NodeIndex-1) //找到需要删除的节点{if(NULL prev-next) //1.如果找到的是尾节点{prior-next NULL; //原来尾节点的前一个为节点变成了新尾节点free(prev); //释放原来尾节点的内存return head;}else //如果找到的是普通节点{prior-next prev-next; //要删除的节点的前一个节点和后一个节点相连free(prev);return head;}}cnt;}return NULL; //没找到对应节点操作失败返回NULL }//销毁链表 struct Link* destroyList(struct Link *head) {struct Link *p head;while (p ! NULL){head head-next;free(p);p head;}return head; }//清空链表 void clearList(struct Link *head) {struct Link *p;while (head-next) {p head-next;head-next p-next;free(p);}p NULL;free(p); }int main() {struct Link *head getHead(3);head frontInsertDataLink(head, 5); head frontInsertDataLink(head, 2); PrintLink(head);head frontInsertNodeDataLink(head, 1,4);PrintLink(head);head deleteHeadLinkNode(head,2);PrintLink(head);head destroyList(head);//head destroyList(head);PrintLink(head);return 0; }
http://wiki.neutronadmin.com/news/188601/

相关文章:

  • 国外的网站可以做百度推广吗北京软件开发工资
  • 汕头企业制作网站江苏建设行业证书编号查询网站
  • 技术支持 东莞网站建设母婴护理四川刚刚发布的最新新闻
  • 专用车网站建设哪家好网站导航条代码
  • 网站软文推广网站asp.net企业门户网站源码
  • 合作行业网站建设深圳定制旗袍实体店
  • 用dw如何做网站首页百度服务商
  • 网站建设开发教程百度搜索app
  • 广州网站建设论坛百度做自己的网站
  • 北京移动端网站多少钱网页设计公司经营范围
  • 网站建设xm37西湖区商城网站建设
  • 网站域名备案与不备案的区别万维网网站301重定向怎么做
  • 多个网站集成在一个页面网络营销模式有哪些类型
  • 官方网站侵权怎么免费建论坛
  • 营销型网站带来经典企业网站欣赏
  • 校园内部网站建设方案网站备案撤销
  • 展会网站建设 服务器选择很重要公司网站建设需要哪些
  • 房产网签厦门做网站优化公司
  • 制作网站软件都在什么公司大丰城乡建设局网站
  • 网站外链收录很多 内链收录几个网站后台目录如何保护
  • 咨询类网站模板企业年金如何查询
  • 网页编辑用什么软件好超级优化系统
  • 全面的手机网站建设网站开发工程师6
  • 用angular做的网站链接展示网站模版源码
  • 网站开发word自己做网站能关联支付宝吗
  • 心理教育网站建设目的四川网站建设yijia028
  • 网站多语言切换重庆市任免干部
  • 外包兼职做图的网站旅游网官网
  • 网站建设实训的心得的体会wordpress 用户信息
  • 做网站的主要收入公司建设网站算入什么会计科目