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

拥有自己的网站 如何做推广门户网站cms

拥有自己的网站 如何做推广,门户网站cms,地方建设的钱哪里来,微信开发者平台小程序目录 前言 1. 栈 1.1 栈的概念 1.2 栈的结构 2. 栈的实现 2.1 栈的初始化 2.2 入栈 2.3 出栈 2.4 读取栈顶元素 2.5 判断栈空 2.6栈的销毁 3. 栈完整源代码 Stack.h Stack.c #x1f388;个人主页#xff1a;库库的里昂 #x1f390;C/C领域新星创作者 …目录 前言 1. 栈 1.1 栈的概念 1.2 栈的结构 2. 栈的实现 2.1 栈的初始化 2.2 入栈 2.3 出栈  2.4 读取栈顶元素 2.5 判断栈空 2.6栈的销毁 3. 栈完整源代码 Stack.h Stack.c 个人主页库库的里昂 C/C领域新星创作者 欢迎 点赞✍评论⭐收藏✨收录专栏数据结构与算法希望作者的文章能对你有所帮助有不足的地方请在评论区留言指正大家一起学习交流 前言 在前几期的学习中我们认识了顺序表和链表这两种线性表而在本期学习中我们将会认识别的线性表。跟随我们的脚本看看栈和队列有怎样的特点。 1. 栈 1.1 栈的概念 栈一种特殊的线性表其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶另一端称为栈底。栈中的数据元素遵守后进先出LIFOLast In First Out的原则。 压栈栈的插入操作叫做进栈/压栈/入栈入数据在栈顶。出栈栈的删除操作叫做出栈。出数据也在栈顶。 1.2 栈的结构 2. 栈的实现 栈的实现一般可以使用数组或者链表实现相对而言数组的结构实现更优一些。因为数组在尾上插入数据的代价比较小。 2.1 栈的初始化 我们将结构体的所有元素都初始化为0。这里与我们在顺序表中的初始化不同在顺序表中我们在初始化时就开辟了空间下面我们会介绍另一种方式。 void STInit(ST* pst) {assert(pst);pst-a NULL;pst-capacity 0;pst-top 0; } 2.2 入栈 在进栈时可能遇到容量为零所以我们使用一个条件判断来确定容量。因为top为0所以它表示的是下一个元素的下标要先赋值再top。 void STPush(ST* pst, STDataType x) {assert(pst);if (pst-top pst-capacity){int newcapacity pst-capacity 0 ? 4 : pst-capacity * 2;STDataType* tmp calloc(pst-a, sizeof(STDataType) * newcapacity);if (tmp NULL){perror(calloc fail);return;}pst-a tmp;pst-capacity newcapacity;}pst-a[pst-top] x;pst-top; } malloc 和 realloc 开辟空间的区别就是 realloc 要传递一个指针而当我们给 realloc 传递一个空指针那么它的功能就和 malloc 相同。  2.3 出栈  出栈只需要将 top --就访问不到这个元素了。在出栈时我们要判断栈中是否还有元素。 void STPop(ST* pst) {assert(pst);assert(pst-top 0);pst-top--; } 2.4 读取栈顶元素 栈顶元素就是我们插入的最后一个元素。由于top表示的是下一个元素的下标所以读取栈顶元素是top要减1。 STDataType STTop(ST* pst) {assert(pst);assert(pst-top 0);return pst-a[pst-top - 1]; }2.5 判断栈空 bool STEmpty(ST* pst) {assert(pst);return pst-top 0; } 2.6栈的销毁 这里使用的内存是动态开辟的因此在我们使用完后要及时释放掉内存否则会造成内存泄漏。 void STDestroy(ST* pst) {assert(pst);free(pst-a);pst-a NULL;pst-top 0;pst-capacity 0; } 3. 栈完整源代码 Stack.h #includestdio.h #includeassert.h #includestdlib.h #includestdbool.htypedef int STDataType;typedef struct Stack {STDataType* a;int top; // 标识栈顶位置的int capacity; }ST;void STInit(ST* pst);//初始化void STDestroy(ST* pst);//销毁void STPush(ST* pst, STDataType x);//入栈void STPop(ST* pst);//出栈STDataType STTop(ST* pst);//读取栈顶元素bool STEmpty(ST* pst);//判断栈空 Stack.c #includeStack.hvoid STInit(ST* pst) {assert(pst);pst-a NULL;pst-capacity 0;pst-top 0; }void STDestroy(ST* pst) {assert(pst);free(pst-a);pst-a NULL;pst-top 0;pst-capacity 0; }void STPush(ST* pst, STDataType x) {assert(pst);if (pst-top pst-capacity){int newcapacity pst-capacity 0 ? 4 : pst-capacity * 2;STDataType* tmp calloc(pst-a, sizeof(STDataType) * newcapacity);if (tmp NULL){perror(calloc 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);pst-top--; }STDataType 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; } 本次的内容到这里就结束啦。希望大家阅读完可以有所收获同时也感谢各位读者三连支持。文章有问题可以在评论区留言博主一定认真认真修改以后写出更好的文章。你们的支持就是博主最大的动力。
http://www.w-s-a.com/news/616242/

相关文章:

  • 婚恋网站建设项目创业计划书网站建设 食品
  • 免费建网站代码查询做导员的网站
  • 做网站的软件电子可以看女人不易做网站
  • 学校响应式网站模板下载仙居住房和城乡建设规划局网站
  • 推广网站的方法有拍卖网站建设
  • 网站建设网站排名优化中国网站服务器哪个好
  • asp网站应用程序网站建设需要提供的资料
  • 网站开发与设计.net微信小程序设计制作
  • 怎样做网站排名优化展馆设计费取费标准一览表
  • 网站建设去哪可接单网站建设与设计大作业
  • 休闲咖啡厅网站开发目标韩国小清新网站模板
  • 做微景观的网站制作网页模板适应不同分辨率
  • 最简单的网站系统昨天军事新闻最新消息
  • 做ps网页设计的网站有哪些wordpress内容付费
  • 有没有免费注册域名的网站科技小制作 手工 简单
  • 网站支付端口win10优化大师怎么样
  • 怎么做云购网站吗网站流量监测
  • 网站被恶意刷流量可以翻外墙的浏览器
  • 网站做直链下载存储解决方案怎么把网站设置为主页面
  • 西安做网站招聘深圳网站见
  • 网站怎么做优化百度能搜索到wordpress 子分类
  • 六安网站建设培训制作网站需要多少时间
  • 电子商务专业网站建设什么软件可以做动画视频网站
  • wordpress 分享主题做网站优化有必要
  • ftp 网站管理电商网站设计图片
  • 惠州免费建站模板营销型旅游网站建设
  • 南宁cms建站wordpress 开启缩略图
  • 网站模板软件网站admin密码
  • 网站信息做参考文献射阳做企业网站多少钱
  • 网站外部优化的4大重点外贸站外推广