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

上海地区网站建设wordpress附件类型

上海地区网站建设,wordpress附件类型,重庆seo排名软件,上海展台搭建商目录 单链表 主函数test.c test1 test2 test3 test4 头文件函数声明SList.h 函数实现SList.c 打印SLPrint 创建节点CreateNode 尾插SLPushBack 头插SLPushFront 头删SLPopBck 尾删SLPopFront 易错点 本篇开始链表学习。今天主要是单链表OJ题目。 单链…目录 单链表 主函数test.c test1 test2 test3 test4 头文件函数声明SList.h 函数实现SList.c 打印SLPrint 创建节点CreateNode 尾插SLPushBack 头插SLPushFront 头删SLPopBck 尾删SLPopFront 易错点 本篇开始链表学习。今天主要是单链表OJ题目。 单链表 前面的博文我们讲了顺序表。顺序表的优势就是【物理空间的连续】就只需要一个指针指向开始位置用数组下标去访问即可。但是这也是它的劣势。当插入和删除数据需要挪动数据。 无论是【顺序表】还是【链表】里的数据任何类型都可。所以用typedef。 在开始阶段线性表可能是物理空间上连续【顺序表】可能是逻辑顺序上连续【链表】。链表的优势就是删除和插入数据不需要挪动空间可以一块一块的释放不会影响其他节点。链表每个节点都是独立的。 【链表】的种类很多今天先介绍【无头单项不循环链表】----【单链表】。 主函数test.c #includeSList.h int main() {SLNode* phead NULL;//结构体指针变量存放结构体的地址 头节点test1(phead);//测试尾插test2(phead);//测试头插test3(phead);//测试尾删test4(phead);//测试头删return 0; } test1 void test1(SLNode** pphead)//测试尾插 {SLPushBack(pphead, 10);SLPushBack(pphead, 20);SLPushBack(pphead, 30);SLPushBack(pphead, 40);SLPrint(*pphead); } test2 void test2(SLNode** pphead)//测试头插 {SLPushFront(pphead, 77);SLPushFront(pphead, 66);SLPushFront(pphead, 55);SLPushFront(pphead, 33);SLPrint(*pphead); } test3 void test3(SLNode** pphead)//测试头删 {SLPopFront(pphead);SLPopFront(pphead);SLPopFront(pphead);SLPrint(*pphead); } test4 void test4(SLNode** pphead)//测试尾删 {SLPopBack(pphead);SLPopBack(pphead);SLPrint(*pphead); } 头文件函数声明SList.h #pragma once #includestdio.h #includeassert.h #includestdlib.h 创建单链表 //创建单链表 typedef int SLNDataType;//单链表节点数据类型typedef struct SListNode//创建节点 {SLNDataType val;struct SListNode* next; }SLNode; 为什么 SListNode 还未创建好就可以在结构体内部使用这个 SListNode 了 因为next是一个结构体指针变量主体是指针变量无影响。但是如果是 struct SListNode next;不可以结构体嵌套结构体是不可以的。 打印数据 //打印数据 void SLPrint(SLNode* phead); 尾插 //尾插 void SLPushBack(SLNode** pphead, SLNDataType x); 头插 //头插 void SLPushFront(SLNode** pphead, SLNDataType x); 头删 //头删 void SLPopFront(SLNode** pphead); 尾删  //尾删 void SLPopBack(SLNode** pphead); 函数实现SList.c #includeSList.h 打印SLPrint 不要让phead移动 void SLPrint(SLNode* phead) {assert(phead);SLNode* tail phead;printf(phead-);while (tail-next ! NULL){printf(%d-, tail-val);tail tail-next;}printf(NULL);printf(\n); } 创建节点CreateNode //创建链表的节点---结构体 SLNode* CreateNode(SLNDataType x) {SLNode* newnode (SLNode*)malloc(sizeof(SLNode));if (newnode NULL){perror(malloc);exit(-1);//直接终止程序//return;}newnode-val x;newnode-next NULL;return newnode; } 尾插SLPushBack 二级指针的使用不然就会链接不起来出了函数栈帧局部变量就销毁了。改变外部的变量一定有一个解引用的操作多情况的考虑 //尾插 void SLPushBack(SLNode** pphead, SLNDataType x) {//assert(*pphead);SLNode* newnode CreateNode(x);//无节点if (*pphead NULL){*pphead newnode;}//多个节点else{SLNode* tail *pphead;while (tail-next ! NULL){tail tail-next;}tail-next newnode;}} 头插SLPushFront 代码书写的先后顺序二级指针  //头插 void SLPushFront(SLNode** pphead, SLNDataType x) {//assert(*pphead);SLNode* newnode CreateNode(x);newnode-next *pphead;*pphead newnode; } 头删SLPopBck 代码书写的先后顺序二级指针  //头删 void SLPopFront(SLNode** pphead) {assert(*pphead);SLNode* tail *pphead;*pphead (*pphead)-next;free(tail);tail NULL; } 尾删SLPopFront 多种情况的考虑  //尾删 void SLPopBack(SLNode** pphead) {assert(*pphead);//一个节点if ((*pphead)-next NULL){free(*pphead);*pphead NULL;}else{SLNode* tail *pphead;SLNode* prve tail;while (tail-next ! NULL){prve tail;tail tail-next;}prve-next NULL;free(tail);tail NULL;} }易错点 断言❌无节点/一个节点/多节点的考虑❌传值调用/传址调用二级指针使用❌记住要修改头节点头节点是结构体指针变量的指向必须用二级指针❌空间的释放不是释放指针变量释放的是指针指向的空间❌*pphead*pphead-next辨析❌野指针的诞生❌ 代码---------→【唐棣棣 (TSQXG) - Gitee.com】 联系---------→【邮箱2784139418qq.com】
http://www.yutouwan.com/news/319208/

相关文章:

  • 幕墙装饰工程网站模板wordpress如何打开数据库
  • 鞋厂网站模板wordpress七牛缩略图
  • 网站如何做分站系统重庆seo什么意思
  • 余姚外贸网站建设数字经济团体赛
  • asp.net网站项目建设微信公众号怎么分享wordpress
  • 北京网站建设公司如何排版山东省和住房建设厅网站首页
  • 苏州模板网站建站ie浏览器网页版
  • seo白帽优化网站优化升级
  • 网站建设衤首选金手指10深圳网站建设黄浦网络-技术差
  • 海纳企业网站管理系统网上备案查询
  • 雄安做网站的公司仿租号网站源码网站开发
  • 外链购买交易平台网站诊断seo当前数据是指
  • 福州网站制作费用广东省建设厅官方网站
  • 浙江省住建厅网站装修公司网站设计规划
  • 国内网站 备案富民网站建设
  • seo查询站长高清免费素材网
  • 做视频网站需要流量适合在线做笔试的网站
  • 查互做蛋白的网站wordpress 乐趣公园
  • 做网店有哪些拿货网站正版win10做win7系统下载网站
  • 个人建网站怎么赚钱网站导航优化的描述
  • 做的asp网站手机号码找个人合伙做网站
  • 个体户可以网站备案吗从化区城郊街道网站麻二村生态建设
  • 网络购物商城杭州seo服务公司
  • 网站建设初学千锋教育培训多少钱费用
  • 抽奖的网站怎么做的企业网页建设公司咨询电话
  • 杭州做卖房子的工作哪个网站好外贸建站推广多少钱
  • name域名的网站网站推广的方式有哪几种
  • 免费软件下载网站入口正能量北京网络维护公司
  • 图书馆网站建设调查问卷店面设计概念
  • 哈尔滨企业做网站可以充值的网站怎么做