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

网页和网站的不同建设美食网站的作用

网页和网站的不同,建设美食网站的作用,域名信息查询网站,怎么做垂直自营网站文章目录 #x1f438;一、栈的概念及结构#x1f344;1、栈的概念定义#x1f344;2、动图演示#x1f332;入栈#x1f332;出栈#x1f332;整体过程 #x1f438;二、栈的实现#x1f438;三、数组结构栈详解#x1f34e;创建栈的结构⭕接口1#xff1a;定义结构… 文章目录 一、栈的概念及结构1、栈的概念定义2、动图演示入栈出栈整体过程 二、栈的实现三、数组结构栈详解创建栈的结构⭕接口1定义结构体ST⭕接口2初始化STInit⭕接口3销毁STDestroy⭕接口4入栈STPush⭕接口5出栈STPop⭕接口6取栈顶数据STTop⭕接口7判空STEmpty⭕接口8获取栈的大小STSize 四、完整代码Stack.hStack.cTest.c 一、栈的概念及结构 1、栈的概念定义 栈一种特殊的线性表其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶另一端称为栈底。栈中的数据元素遵守后进先出LIFOLast In First Out的原则。 压栈栈的插入操作叫做进栈/压栈/入栈入数据在栈顶。出栈栈的删除操作叫做出栈。出数据也在栈顶。 2、动图演示 入栈 出栈 整体过程 二、栈的实现 栈的实现一般可以使用数组或者链表实现相对而言数组的结构实现更优一些。因为数组在尾上插入数据的代价比较小 三、数组结构栈详解 创建栈的结构 这里先创建三个文件 1️⃣Stack.h文件用于函数的声明 2️⃣Stack.c文件用于函数的定义 3️⃣Test.c文件用于测试函数 建立三个文件的目的 将栈作为一个项目来进行编写方便我们的学习与观察。 ⭕接口1定义结构体ST 请看代码与注释 //自定义类型 typedef int STDataType; //创建栈的结构 typedef struct Stack {STDataType* a;int top;int capacity; }ST;⭕接口2初始化STInit 请看代码与注释 //初始化 void STInit(ST* pst) {//断言传入指针不为NULLassert(pst);pst-a NULL;pst-top -1; //top指向栈顶数据pst-top 0; //top 指向栈顶数据的下一个位置pst-capacity 0; }⭕接口3销毁STDestroy 请看代码与注释 //销毁 void STDestroy(ST* pst) {//断言传入指针不为NULLassert(pst);//释放free(pst-a);pst-a NULL;pst-capacity pst-top 0; }⭕接口4入栈STPush 请看代码与注释 //入栈 void STPush(ST* pst, STDataType x) {if (pst-top pst-capacity){int newCapacity pst-capacity 0 ? 4 : pst-capacity * 2;STDataType* temp (STDataType*)realloc(pst-a, newCapacity * sizeof(STDataType));if (temp NULL){perror(realloc fail);return;}pst-a temp;pst-capacity newCapacity;}pst-a[pst-top] x;pst-top; }⭕接口5出栈STPop 请看代码与注释 //出栈 void STPop(ST* pst) {assert(pst);assert(!STEmpty(pst));pst-top--; }⭕接口6取栈顶数据STTop 请看代码与注释 //取栈顶数据 STDataType STTop(ST* pst) {assert(pst);assert(!STEmpty(pst));return pst-a[pst-top - 1]; }⭕接口7判空STEmpty 请看代码与注释 //判空 bool STEmpty(ST* pst) {assert(pst);return pst-top 0; }⭕接口8获取栈的大小STSize 请看代码与注释 //获取栈的大小 int STSize(ST* pst) {assert(pst);return pst-top; }四、完整代码 Stack.h #pragma once #includestdio.h #includestdlib.h #includeassert.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); //获取栈的大小 int STSize(ST* pst);Stack.c #includeStack.h//初始化 void STInit(ST* pst) {assert(pst);pst-a NULL;pst-top -1; //top指向栈顶数据pst-top 0; //top 指向栈顶数据的下一个位置pst-capacity 0; }//销毁 void STDestroy(ST* pst) {assert(pst);free(pst-a);pst-a NULL;pst-capacity pst-top 0; }//入栈 void STPush(ST* pst, STDataType x) {if (pst-top pst-capacity){int newCapacity pst-capacity 0 ? 4 : pst-capacity * 2;STDataType* temp (STDataType*)realloc(pst-a, newCapacity * sizeof(STDataType));if (temp NULL){perror(realloc fail);return;}pst-a temp;pst-capacity newCapacity;}pst-a[pst-top] x;pst-top; }//出栈 void STPop(ST* pst) {assert(pst);assert(!STEmpty(pst));pst-top--; }//取栈顶数据 STDataType STTop(ST* pst) {assert(pst);assert(!STEmpty(pst));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; }Test.c #includeStack.h//入栈测试void TestStack1() {ST st;STInit(st);STPush(st, 1);STPush(st, 2);STPush(st, 3);STPush(st, 4);while (!STEmpty(st)){printf(%d , STTop(st));STPop(st);}STDestroy(st); }//测试 void TestStack2() {ST st;STInit(st);STPush(st, 1);STPush(st, 2);printf(%d , STTop(st));STPop(st);STPush(st, 3);STPush(st, 4);while (!STEmpty(st)){printf(%d , STTop(st));STPop(st);}STDestroy(st); }int main() {//TestStack1();//TestStack2();return 0; }这期内容相对比较简单希望烙铁们可以理解消化哦 总结 以上就是 【数据结构】栈—C语言版 的全部内容啦 本文章所在【数据结构与算法】专栏感兴趣的烙铁可以订阅本专栏哦 前途很远也很暗但是不要怕不怕的人面前才有路。 小的会继续学习继续努力带来更好的作品 创作写文不易还多请各位大佬uu们多多支持哦
http://www.yutouwan.com/news/65697/

相关文章:

  • 做网站反应快的笔记本有哪些国内最新军事新闻
  • 视频弹幕网站怎么做一分钟赚一元的游戏
  • 西安企业网站建设模板国外网站网页设计
  • a4网站建设阿里云个人网站建设书
  • 好用的手机网站主页淄博网站建设与推广
  • 上海模板开发建站wordpress在新窗口打开
  • 游戏网站建设表格台州汇客网站建设
  • 青岛装饰公司十强排名网络优化的目的
  • 网站服务器怎么进做网站用旧域名好不好
  • 快速域名网站备案免费制作图片生成器
  • 网站开发 浏览器兼容性正规漫画网站开发流程
  • 建设团购网站河南政务服务网查二建证书
  • 网上哪里给公司做网站wordpress 页面 html代码
  • 有教做鱼骨图的网站吗房产网签是什么意思
  • 电子商务网站建设与管理的实践报告网页设计与制作教程免费
  • 大数据技术建设网站设计平面创意
  • 大航母网站建设好不好无为住建设局网站
  • 网站需要怎么做的吗营销传播策略
  • 网站标准规范建设佛山微信网站开发
  • 做301网站打不开网站建设最重要的环节
  • 成都网站建设开发公司哪家好网站建设技术大全
  • 做百度网上搜索引擎推广最好网站做百度网站图片怎么做
  • 个人网站的成本html怎么做网站版块
  • 互联网公司怎么找网站建设客户阿里云apache重写wordpress
  • 泗洪网站建设怎样免费个人网站建设
  • 网站建设方案书阿里云备案找能做网站的
  • 电商网站前端制作分工东莞在哪里学网站建设
  • dz整站网站建设百度关键词搜索排行
  • 建设门户网站需要注意什么建立企业网站流程
  • 体检营销型网站福州建设招聘信息网站