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

中山市建设局投诉网站怎么推广网站建设业务

中山市建设局投诉网站,怎么推广网站建设业务,双语企业网站源码,网站备案幕目录: 一、栈的概念 二、栈的实现 1.栈的初始化 2.栈的销毁 3.入栈 4.出栈 5.获取栈顶数据 6.判断栈是否为空 7.获取栈的个数 三、代码 一、栈的概念 栈是一种特殊的线性表#xff0c;其只允许在固定的一端进行插入和删除元素操作。 进行数据插入和删除操作的一端…目录: 一、栈的概念 二、栈的实现 1.栈的初始化 2.栈的销毁 3.入栈 4.出栈 5.获取栈顶数据 6.判断栈是否为空 7.获取栈的个数 三、代码 一、栈的概念 栈是一种特殊的线性表其只允许在固定的一端进行插入和删除元素操作。 进行数据插入和删除操作的一端 称为栈顶另一端称为栈底。栈中的数据元素遵守后进先出LIFOLast In First Out的原则。 压栈栈的插入操作叫做进栈/压栈/入栈入数据在栈顶。 出栈栈的删除操作叫做出栈。出数据也在栈顶。 例比如手枪弹夹先压进去的子弹往往是后发射出去也就是遵循后进先出的原则。 首先来创建一个结构体我们是基于数组实现的栈一个栈首先要有数组存放数据给一个top表示个数给一个capacity表示空间大小 typedef int stacktype; typedef struct Stack {stacktype* a;//动态数组int top; //个数int capacity;//空间 }ST; 二、栈的实现 1.栈的初始化 一开始数组为空并且top和capacity都为0这里的top有两种初始化方法如果我们想让他指向栈中的最后一个数据那么它的值就不能是数组的起始下标0而应该给一个无关的数比如-1第二种就是top表示栈顶数据的下一个位置那我们就可以给他赋值0这里我们使用第二种方法 void STInit(ST* pst)//初始化 {assert(pst);pst-a NULL;pst-top 0;//基于size指向的是栈顶数据的下一个位置pst-capacity 0; } 2.栈的销毁 删除也是很简单原理和顺序表都差不多 void STDestroy(ST* pst)//销毁 {assert(pst);free(pst-a);//free掉pst-a NULL;//置为空防止变成野指针pst-top 0;pst-capacity 0; } 3.入栈 首先要明白栈是栈顶入栈顶出所以所有数据都从栈顶进入也就是top的位置随后top就可以扩容和顺序表一样详情可以参考https://blog.csdn.net/xpcxpt/article/details/147466492?spm1001.2014.3001.5501 总体代码如下 void STPush(ST* pst, stacktype x)//插入 入栈 {assert(pst);//扩容if (pst-top pst-capacity){int newcapacity pst-capacity 0 ? 4 : pst-capacity * 2;stacktype* tmp (stacktype*)realloc(pst-a, newcapacity * sizeof(stacktype));if (tmp NULL){perror(realloc fail);return;}pst-a tmp;pst-capacity newcapacity;}pst-a[pst-top] x;pst-top; } 4.出栈 出栈也就是删除一个栈顶的数据那只需要让top--就可以了 void STPop(ST* pst)//删除 出栈 {assert(pst);assert(pst-top 0);//top是非负数pst-top--;//删除一个 } 5.获取栈顶数据 top的位置的栈顶数据的下一个位置所以要想获取栈顶元素就要获取top-1位置的元素: stacktype STTop(ST* pst)//获取栈顶数据 {assert(pst);assert(pst-top 0);return pst-a[pst-top - 1]; } 6.判断栈是否为空 直接判断栈中数据数量top是否为空这里可以使用bool类型不为空返回true为空返回fulse   bool STEmpty(ST* pst)//判断栈是否为空 {assert(pst);return pst-top 0; } 7.获取栈的个数 这里也是非常简单就是获取top的大小几行代码就搞定了 int STSize(ST* pst)//判断栈的数据个数 {assert(pst);return pst-top;//从0开始的所以返回size的大小-1,也就是下表从0-top-1一共top个 } 三、代码 总体代码如下: test.c: #include stack.hint main() {ST s;STInit(s);STPush(s, 1);STPush(s, 2);//printf(%d , STTop(s));STPush(s, 3);STPush(s, 4);while (!STEmpty(s)){printf(%d , STTop(s));STPop(s);}STDestroy(s); }stack.h:   #pragma once#includestdio.h #includeassert.h #includestdlib.h #includestdbool.htypedef int stacktype; typedef struct Stack {stacktype* a;//动态数组int top; //个数int capacity;//空间 }ST;void STInit(ST* pst);//初始化 void STDestroy(ST* pst);//销毁 void STPush(ST* pst, stacktype x);//插入 入栈 void STPop(ST* pst);//删除 出栈 stacktype STTop(ST* pst);//获取栈顶数据 bool STEmpty(ST* pst);//判断栈是否为空 int STSize(ST* pst);//判断栈的数据个数 stack.c:   #include stack.hvoid STInit(ST* pst)//初始化 {assert(pst);pst-a NULL;pst-top 0;//基于size指向的是栈顶数据的下一个位置pst-capacity 0; }void STDestroy(ST* pst)//销毁 {assert(pst);free(pst-a);//free掉pst-a NULL;//置为空防止变成野指针pst-top 0;pst-capacity 0; }void STPush(ST* pst, stacktype x)//插入 入栈 {assert(pst);//扩容if (pst-top pst-capacity){int newcapacity pst-capacity 0 ? 4 : pst-capacity * 2;stacktype* tmp (stacktype*)realloc(pst-a, newcapacity * sizeof(stacktype));if (tmp NULL){perror(realloc fail);return;}pst-a tmp;pst-capacity newcapacity;}pst-a[pst-top] x;pst-top; } void STPop(ST* pst)//删除 出栈 {assert(pst);assert(pst-top 0);//top是非负数pst-top--;//删除一个 } stacktype STTop(ST* pst)//获取栈顶数据 {assert(pst);assert(pst-top 0);return pst-a[pst-top - 1]; } bool STEmpty(ST* pst)//判断栈是否为空 {assert(pst);return pst-top 0; } int STSize(ST* pst)//判断栈的数据个数 {assert(pst);return pst-top;//从0开始的所以返回size的大小-1,也就是下表从0-top-1一共top个 }
http://www.zqtcl.cn/news/238382/

相关文章:

  • 网站建设包括哪些东西工业设计最好的公司
  • 网站建设方案书 模板网站地址做图标
  • 财务公司网站模板wordpress域名文件夹
  • 网站标题写什么作用是什么网络推广学校培训
  • 看室内设计效果图网站网站建设需要条件
  • html教程网站做网站用哪个服务器
  • 济南网站建设 推搜点江阴响应式网站建设
  • 网站建设在windos的设置crm平台
  • 企业如何建设网站高端商城网站建设
  • 怎么制作app网站以下什么是网页制作软件
  • 网站定制一般价格多少石家庄做网站wsjz
  • 如何建立外卖网站网站可以做的活动推广
  • 手机号注册网站cms影视源码采集
  • 网站建设网页设计培训班连云港seo优化
  • 成都网站建设公司招聘定制衣服
  • 做访问量高的网站如何建立公司网站推广
  • 做公司的网站有哪些简述企业网站建设的流程
  • 网站免费获取验证码怎么做软件开发的工作
  • 萌宝宝投票网站怎么做正规网站建设多少费用
  • 产权交易网站建设方案耐克网站建设的历程
  • 网站建设投入及费用wordpress 收录插件
  • 东莞网站制作个性化清溪网站仿做
  • 简单展示网站模板天津建设网站哪家好
  • 建个人网站赚钱多吗福建省住房和城乡建设厅网站首页
  • 网站建设课程设计实训心得seo关键词优化方案
  • 逸阳网站建设的目标郑州建设电商网站
  • 有了网址怎么做网站上海网站推广服务
  • 惠州网站seo排名优化esc怎么做网站
  • 咨询公司网站设计网站建设技能
  • 上海湖南网站建设新学校网站建设成果