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

做系统网站湖南网站建设公司 在线磐石网络

做系统网站,湖南网站建设公司 在线磐石网络,92素材网,群晖wordpress连接外网教程目录 零.必备知识 1.一级指针 二级指针 2. 节点的成员列表 a.数据 b.指向下一个节点的指针. 3. 动态内存空间的开辟 (malloc-calloc-realloc) 一.单链表的实现与销毁 1.1 节点的定义 1.2 单链表的尾插 1.3 单链表的头插 1.4 单链表的尾删 1.5 单链表的头删 1… 目录 零.必备知识 1.一级指针 二级指针 2. 节点的成员列表 a.数据 b.指向下一个节点的指针. 3. 动态内存空间的开辟 (malloc-calloc-realloc) 一.单链表的实现与销毁  1.1 节点的定义 1.2 单链表的尾插 1.3 单链表的头插 1.4 单链表的尾删 1.5 单链表的头删  1.6 单链表的查找 1.7 在指定位置之前插入数据 1.8 在指定位置之后插入数据 1.9 删除指定位置的数据 1.10 删除指定位置之后的数据 1.11 销毁单链表  二. 单链表源码 SingleList.h SingleList.c  零.必备知识 1.一级指针 二级指针 2. 节点的成员列表     a.数据     b.指向下一个节点的指针. 3. 动态内存空间的开辟 (malloc-calloc-realloc) 一.单链表的实现与销毁  注:具体解释都在代码的注释中!(在代码中具体分析) 1.1 节点的定义 1.2 单链表的尾插 1.3 单链表的头插 1.4 单链表的尾删 1.5 单链表的头删  1.6 单链表的查找 1.7 在指定位置之前插入数据 1.8 在指定位置之后插入数据 1.9 删除指定位置的数据 1.10 删除指定位置之后的数据 1.11 销毁单链表  二. 单链表源码 SingleList.h #define _CRT_SECURE_NO_WARNINGS #pragma once #include stdio.h #include stdlib.h #include assert.h// 节点的定义 typedef int SLTDateType; typedef struct SingleListNode {SLTDateType date;struct SingleListNode* next; }SLTNode;// 单链表的展示 void SLTPrint(SLTNode* phead); // 单链表的尾插 void SLTPushBack(SLTNode** pphead, SLTDateType x); // 单链表的头插 void SLTPushFront(SLTNode** pphead, SLTDateType x); // 单链表的尾删 void SLTPopBack(SLTNode** pphead); // 单链表的头删 void SLTPopFront(SLTNode** pphead); // 单链表的查找 SLTNode* SLTFind(SLTNode* phead, SLTDateType x); // 在指定位置之前插入数据 void SLTInsertBefore(SLTNode** pphead, SLTNode* pos, SLTDateType x); // 在指定位置之后插入数据 void SLTInsertAfter(SLTNode** pphead, SLTNode* pos, SLTDateType x); // 删除指定位置的数据 void SLTErase(SLTNode** pphead, SLTNode* pos); // 删除指定位置之后的数据 void SLTEraseAfter(SLTNode** pphead, SLTNode* pos); // 销毁单链表 void SLTDestroy(SLTNode** pphead); SingleList.c  #define _CRT_SECURE_NO_WARNINGS #include SingleList.h // 单链表的展示 void SLTPrint(SLTNode* phead) {SLTNode* pcur phead; //current 当前的,现在的 currect 正确的while (pcur ! NULL) {printf(%d-, pcur-date);pcur pcur-next;}printf(NULL\n); } // 节点的创造 SLTNode* SLTCreat(SLTDateType x) {SLTNode* newNode (SLTNode*)malloc(sizeof(SLTNode));if (newNode NULL) {printf(创建失败!\n);exit(1);}newNode-date x;newNode-next NULL;return newNode; } // 单链表的尾插 void SLTPushBack(SLTNode** pphead, SLTDateType x) {assert(pphead);// 创建节点SLTNode* newNode SLTCreat(x);// 没有节点if ((*pphead) NULL) {(*pphead) newNode;}else { // 有一个或多个节点SLTNode* pcur (*pphead);while (pcur-next ! NULL) {pcur pcur-next;}pcur-next newNode;} } // 单链表的头插 void SLTPushFront(SLTNode** pphead, SLTDateType x) {assert(pphead);SLTNode* pcur (*pphead);// 创建节点SLTNode* newNode SLTCreat(x);// 没有节点if ((*pphead) NULL) {(*pphead) newNode;}else { // 有一个或者多个节点newNode-next (*pphead);(*pphead) newNode;} } // 单链表的尾删 void SLTPopBack(SLTNode** pphead) {assert(pphead (*pphead));SLTNode* pcur (*pphead);SLTNode* prev (*pphead);// 只有一个节点if (pcur-next NULL) {free(*pphead);(*pphead) NULL;pcur NULL;prev NULL;}else { // 有多个节点while (pcur-next ! NULL) {prev pcur;pcur pcur-next;}free(pcur);pcur NULL;prev-next NULL;} } // 单链表的头删 void SLTPopFront(SLTNode** pphead) {assert(pphead (*pphead));SLTNode* pcur (*pphead);// 只有一个节点if (pcur-next NULL) {free(*pphead);(*pphead) NULL;pcur NULL;}else { //有多个节点(*pphead) (*pphead)-next;free(pcur);pcur NULL;} } // 单链表的查找 SLTNode* SLTFind(SLTNode* phead, SLTDateType x) {SLTNode* pcur phead;while (pcur ! NULL) {if (pcur-date x) {printf(找到了!\n);return pcur;}pcur pcur-next;}printf(找不到!\n);return NULL; } // 在指定位置之前插入数据 void SLTInsertBefore(SLTNode** pphead, SLTNode* pos, SLTDateType x) {assert(pphead);SLTNode* pcur (*pphead);// 创建节点SLTNode* newNode SLTCreat(x);// 头插if (pos (*pphead) || (*pphead) NULL) {SLTPushFront(pphead, x);}else { //正常插入while (pcur-next ! NULL) {if (pcur-next pos) {newNode-next pcur-next;pcur-next newNode;break;}pcur pcur-next;}} } // 在指定位置之后插入数据 void SLTInsertAfter(SLTNode** pphead, SLTNode* pos, SLTDateType x) {assert(pphead);// 创建节点SLTNode* newNode SLTCreat(x);if ((*pphead) NULL || pos (*pphead)) {// 尾插SLTPushBack(pphead, x);}else { //正常插入SLTNode* pcur (*pphead);while (pcur-next ! NULL) {if (pcur pos) {newNode-next pcur-next;pcur-next newNode;break;}pcur pcur-next;}} } // 删除指定位置的数据 void SLTErase(SLTNode** pphead, SLTNode* pos) {assert(pphead (*pphead));// 处理特殊情况(头删)if ((*pphead) pos) {SLTPopFront(pphead);}else {SLTNode* prev (*pphead);SLTNode* pcur (*pphead);while (pcur ! NULL) {if (pcur pos) {prev-next pcur-next;free(pcur);pcur NULL;prev NULL;break;}prev pcur;pcur pcur-next;}} } // 删除指定位置之后的数据 void SLTEraseAfter(SLTNode** pphead, SLTNode* pos) {assert(pphead (*pphead));SLTNode* pcur (*pphead);while (pcur-next ! NULL) {if (pcur pos) {SLTNode* tmp pcur-next;pcur-next pcur-next-next;free(tmp);tmp NULL;break;}pcur pcur-next;} } // 销毁单链表 void SLTDestroy(SLTNode** pphead) {assert(pphead (*pphead));SLTNode* pcur (*pphead);SLTNode* prev (*pphead);while (pcur ! NULL) {prev pcur;pcur pcur-next;free(prev);}prev NULL;(*pphead) NULL; }
http://www.hkea.cn/news/14328586/

相关文章:

  • 版纳网站建设网站收缩引擎入口
  • 网站建设全国排名seo 优化一个月费用
  • 清新织梦淘宝客模板淘客网站程序源码led灯 东莞网站建设
  • 静安网站建设哪家好泉州seo管理
  • 如何做淘宝客有没有免费的网站网站开发页面
  • 安徽省建设工程造价管理总站网站沧州网络公司有哪些
  • 微网站免费模板免费制作网站的软件
  • 网站做担保交易平台互联网保险的概念
  • 免费建站建设网站搭建网站10条重大新闻
  • 禅城区建设局网站晋州做网站的联系电话
  • 给公司怎么做官方网站网页设计搭建网站
  • 怎么区别网站开发语言重庆商会网站建设
  • 网站兼容怎么调徐州seo招聘
  • 顺德网站建设教程网站初期做几个比较好
  • 做一个网站最低多少钱35个成功的市场营销策划案例
  • 北航刘禹导师做网站品牌设计师需要具备什么能力
  • 厦门好景科技做网站网站介绍经过下拉怎么做
  • 如何通过查询网站注册时间地方门户网站如何宣传
  • 网站建设分项报价表做题网站中计算多项式的值怎么做
  • 泗阳做网站长春公司建站模板
  • 域名过期的网站怎么看学校校园网站建设服务
  • 响水做网站的公司the7 做的网站
  • 公司网站建设案例教程招商网站有哪些
  • 织梦网络公司网站源码hao123从网上开始
  • 义乌做网站多少钱wordpress 网站打不开
  • 企业资质证书查询官方网站外贸建站系统源码
  • 网站设计团队名称游戏网站建设成功案例
  • 英语培训建设网站方案做电影网站都需要什么工具
  • 平乡网站制作wordpress 还原备份数据库
  • 邙山郑州网站建设云南省安宁市建设厅官方网站