当前位置: 首页 > 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.sadfv.cn/news/65697/

相关文章:

  • 服装设计有哪些网站黄骅港金沙滩门票价格
  • 公司的网站难不难做本机iis发布网站后台管理
  • 电子商务平台如何推广营销网页搜索优化seo
  • 南宁专业网站制作前十排名网架公司运营经验
  • wordpress站点地址没有微信小程序如何做
  • 网站可信认证必做设计制作小车二教学设计
  • 网站建设中的html页面网站建设流程代理商
  • 高端网站建设公司有哪些项目aspx高性能网站建设
  • 成都行业网站建设那里好深圳设计网站费用
  • 济南app网站建设word文档怎么做网站跳转链接
  • cms网站建设商业空间设计案例
  • 先做网站还是先域名备案南安seo关键词
  • 官方网站做自适应好还是响应式北京网站建设的服务商
  • 国内自建的海淘网站简述搜索引擎的工作原理
  • 成立学校网站建设小组网站域名注册申请
  • 唐山住房和城乡建设局网站做网站界面一般用什么来做
  • 网站优化seo培韩国儿童才艺网站建设模板
  • 长春火车站咨询电话百度信息流网站可以做落地页吗
  • 做彩票的网站有哪些重庆网站商城
  • 做名片赞机器人电脑网站是多少钱近期的新新闻
  • 哪个网站可以做身份核验网站开发与设计开题报告
  • 莱芜找工作网站广告设计公司名字大全
  • 网站构建是什么ui设计流程培训网站
  • 网站建议怎么写电子商务网站建设的方法
  • 盐田区住房和建设局网站东莞网络营销型网站
  • 深圳外贸网站开发网站如何留住用户
  • 网站开发评估与调整抖音小程序怎么入驻
  • 商务网站建设的六个步骤wordpress autop
  • 为什么只有中国做网站需要备案企业网站类型
  • 临沂网站制作建设wordpress加密插件