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

网站建设宣传册内容长沙旅游文案

网站建设宣传册内容,长沙旅游文案,2008iis7怎么搭建网站,深圳专业企业网站建设文章目录 #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.pierceye.com/news/641536/

相关文章:

  • 网站改版提交河北建设工程信息网官
  • 建站宝盒v8破解版下载菜鸟怎么做网站
  • 网站建设课程 考核目的wordpress注册确认信
  • 建设银行网站公告2022国内外重大新闻事件10条
  • 门户网站建设 简报电子工程信息建设网
  • 竞价网站模板网站模板小偷
  • 怎么做视频网站网站建设设计基础
  • 惠州网站建设公司曾做网站需要学习什么知识
  • 网站制作里面链接怎么做建网站要什么工做人员
  • 网站建设费用 会计分录网站用哪些系统做的好
  • 免费建立一个个人网站网站模板怎么引用
  • 网站推广软文公司wordpress里面备份功能在哪里
  • 贵州整站优化seo平台网站建设与开发英文文献
  • 江干区住房和城乡建设局网站北京网站开发的趋势在哪里
  • 无锡网站建设选千客云网络简单网站建设推荐
  • 设计网站推荐百度贴吧带搜索的下拉框网站
  • 长春站最新发布网站开发税费
  • 北京通州住房和城乡建设部网站网站开发运营服务合同
  • 建设网站的服务端口国外用python做的网站
  • 如何实现网站生成网页手机端网站建设的注意事项
  • 澄迈网站新闻建设哪个公司建设网站
  • 怎么免费做文学网站wordpress下载及使用说明
  • 大学做兼职英语作文网站中国建筑人才培训网
  • 健康养老网站建设展馆展厅设计效果图
  • 做甜品网站的需求分析wordpress手机移动主题
  • 大兴企业官方网站建设wordpress 电话登记插件
  • 织梦网站搜索怎么做爱拍怎么创建wordpress
  • 阿里云多网站建设绵阳专门做网站的公司有哪些
  • 网站推广的基本方法对于大部分网站来说都是适用的深圳华强北网站建设
  • 网校网站毕业设计的方案网站如何做外链教程视频