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

手机建网站软件批量 发布 wordpress

手机建网站软件,批量 发布 wordpress,唐山建网站的公司,高职两学一做专题网站一#xff0c;栈的概念 栈是一种特殊的线性表#xff0c;其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶#xff0c;另一端称为栈底。栈中的数据元素遵守后进先出LIFO#xff08;Last In First Out#xff09;的原则。 压栈#xf…一栈的概念 栈是一种特殊的线性表其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶另一端称为栈底。栈中的数据元素遵守后进先出LIFOLast In First Out的原则。 压栈栈的插入操作叫做进栈/压栈/入栈入数据在栈顶。 出栈栈的删除操作叫做出栈。出数据也在栈顶。 通俗来说就是先进入的数据最后出来最后进去的数据先出来就比如我们在一个细管子中放入石头那么最开始放的石头在最底下最后放的石头就在管口把石头倒出来那最先出来的石头就是管口的。 二栈的结构 栈的实现一般可以使用数组或者链表实现相对而言数组的结构实现更优一些。因为数组在尾上插入数据的代价比较小。由于刚刚上面的定义介绍我们直到栈这种结构他只能尾插和尾删所以这种情况下选择数组是非常方便的。他的结构就和顺序表是非常像的。 typedef int STDataType; typedef struct Stack {STDataType* a;int top;int capacity; }ST;这里的top就是栈顶位置的下一个 三栈的实现 //初始化 void STInit(ST* ps); //销毁 void STDestroy(ST* ps); //插入 void STPush(ST* ps, STDataType x); //删除 void STPop(ST* ps); //找top位置的数据 STDataType STTop(ST* ps); //一共有多少个数据 int STSize(ST* ps); //判断是否为空 bool STEmpty(ST* ps);3.1栈的初始化 //初始化 void STInit(ST* ps) {assert(ps);ps-a NULL;ps-capacity ps-top 0; }3.2栈的销毁 //销毁 void STDestroy(ST* ps) {assert(ps);free(ps-a);ps-a NULL;ps-capacity ps-top 0; }3.3栈的插入 //插入 void STPush(ST* ps, STDataType x) {assert(ps);//先判断容量是否够if (ps-capacity ps-top){int newcapacity ps-capacity 0 ? 4 : ps-capacity * 2;STDataType* tmp (STDataType*)realloc(ps-a, sizeof(STDataType) * newcapacity);if (tmp NULL){perror(realloc fail);exit(-1);}ps-capacity newcapacity;ps-a tmp;}ps-a[ps-top] x;ps-top; }这里我们判断扩容的函数直接写到了插入里面是因为栈只有一个插入而之前的顺序表的时候插入的方式非常多所以单独分开写梗方便我们去利用。 3.3栈的删除 //删除void STPop(ST* ps){assert(ps);assert(ps-top 0);--ps-top;}3.4栈顶元素的值 //找top位置的数据 STDataType STTop(ST* ps) {assert(ps);return ps-a[ps-top - 1]; }我们最开始提到top是栈顶元素的下一个位置所以我们在找栈顶元素的时候要减一。 3.5计算栈一共的数据 //一共有多少个数据 int STSize(ST* ps) {assert(ps);return ps-top; }3.6判断是否为空 //判断是否为空 bool STEmpty(ST* ps) {assert(ps);return ps-top 0; }四测试 void text1() {ST st;STInit(st);STPush(st, 1);STPush(st, 2);STPush(st, 3);STPush(st, 4);STPush(st, 5);while (!STEmpty(st)){printf(%d , STTop(st));STPop(st);}printf(\n);STDestroy(st); } int main() {text1();return 0; }五题目练习有效的括号 括号匹配问题 5.1分析 我们可以让左括号入栈右括号出栈进行比较同样的要注意左右括号数量也要保持一致。 5.2代码 bool isValid(char * s){ST st;STInit(st);char topval;while(*s){//左括号入栈switch(*s){case {:case [:case (:STPush(st,*s);break;case }:case ]:case ):if(STEmpty(st)){STDestroy(st);return false;}topvalSTTop(st);STPop(st);if(*s}topval!{||*s]topval![||*s)topval!(){return false;}break;}s;}bool valSTEmpty(st);STDestroy(st); return val; }
http://www.zqtcl.cn/news/432000/

相关文章:

  • 东莞个人网站设计潍坊专业人员继续教育
  • 网站建设如何创业建设招标网官网
  • 公司没有销售网站怎么做业务怎么做微信推送 网站
  • 商城网站模版郴州网页定制
  • 电子商务网站建设步骤海外广告投放渠道
  • 网站用花生壳nas做存储十堰市网站建设
  • 用html5做手机网站抖音平台建站工具
  • 在线课程网站开发的研究意义网站开发需要哪些知识
  • 深圳网站优化怎么做手工艺品外贸出口公司网站建设方案
  • 从网站优化之角度出发做网站策划wordpress邀请码插件
  • 大学营销型网站建设实训课程o2o的四种营销模式
  • 咋做网站代码背景图宁远网站建设
  • 有哪些可以做网站的企业网站想换个风格怎么做
  • 怎么在百度搜索自己的网站在电脑上建设个人网站
  • wordpress网站菜单固定电商未来发展趋势前景
  • 五合一网站建设费用python 做网站 用哪个框架好
  • 波莱网站开发动态域名可以做网站吗
  • 网站建设 赣icp 南昌面馆装修设计
  • 福田附近公司做网站建设多少钱网站建设文献综述范文
  • 镇江网站建设设计建设银行投诉网站首页
  • 石家庄个人做网站广州全网络营销
  • html5网站建设加盟wordpress 4.8.6
  • 携程网站建设的基本特点哈尔滨做平台网站平台公司
  • 网站建设入门解读国模 wordpress
  • 网站购物车js代码怎么做制作app的软件有哪些
  • 36氪网站用什么程序做的互联网门户网站建设
  • 视频聚合网站怎么做不侵权wordpress 管理员插件
  • 传媒网站后台免费模板网站建设的进度计划
  • 如何做网站排名合肥全网优化
  • 网站建设招聘信息官网 wordpress