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

做旅游网站的目的郑州一建集团有限公司官网

做旅游网站的目的,郑州一建集团有限公司官网,上市公司网站建设,合肥网站建设怎么做一.栈的基本概念 栈是一种特殊的表#xff0c;这种表只在表首进行插入和删除操作。 因此#xff0c;表首对于栈来说具有特殊的意义#xff0c;称为栈顶。相应的#xff0c;表尾称为栈底。不含任何元素的栈称为空栈。 栈的修改遵循后进先出的原则#xff0c;Last In First…一.栈的基本概念 栈是一种特殊的表这种表只在表首进行插入和删除操作。 因此表首对于栈来说具有特殊的意义称为栈顶。相应的表尾称为栈底。不含任何元素的栈称为空栈。 栈的修改遵循后进先出的原则Last In First Out可以想象成一个水桶。 二.常用的栈运算 栈也是一个抽象数据类型。常用的栈运算如下 1StackEmpty(S):测试栈S是否为空 2StackFull(S):测试栈S是否以满 3StackTop(S):返回栈S的栈顶元素 4Push(x,S):在栈S的栈顶插入元素x简称为将元素x入栈 5Pop(S):删除并返回栈S的栈顶元素简称为抛栈 三.栈的实现 1.用数组实现栈 实现与表类似只不过要实现的运算不同。略 2.用指针实现栈 用这种方法实现的栈也叫做链栈。 因为栈是一种特殊的表所以实现与表类似只不过要实现的运算不同。 四.栈的应用 例一在对用高级语言编写的程序进行编译时会遇到表达式或字符串的括号匹配问题。 在从左到右逐个字符对给定的表达式expr进行扫描的过程中将所遇到的左括号存入一个栈中。每当扫描到一个有括号时如果栈非空就将其与栈顶的左括号想匹配并从栈顶删除该左括号若栈已空则所遇到的右括号不匹配。在完成对表达式的扫描后若栈非空则留在栈中的左括号均不匹配。 例二直方图最大面积矩形问题--单调栈 直方图最大面积矩形问题要找出包含在这个直方图中边平行于坐标轴的最大面积矩形。每个直条的宽度均为1。如上当给出的h[6,2,5,4,5,1,6]时最大面积矩形的面积是12。 设最大面积矩形为s则易知与其相交的直条中高度最小的直条整个包含在s中。而对直方图中的每个高度为h[i]的直条i都有一个包含该直条的最大矩形设其面积为a[i]。显而易见直方图最大面积矩形s的面积是当i取1到n的a[i]中的最大值。因此关键问题是对每个高度为h[i]的直条i计算包含该直条的最大矩形a[i]。(化归转化) 要计算a[i]就要计算直条i的左侧距i最近的高度小于h[i]的直条位置l(i)和直条i的右侧距i最近的高度小于h[i]的直条位置r(i)。由l(i)和r(i)的值可得a[i]h[i]*(r(i)-l(i)-1)。为此目的可以用一个栈stk来存储直条i的位置l(i)。从左到右依次考察直条并根据栈顶元素的值来计算a[i]。 int histo() {//首先创建一个栈 stk并初始化为空栈。 Stack stkStackInit(n);//定义变量 i 和 max分别表示遍历直方图数组的索引和最大矩形面积。int i0,max0;//进入循环循环条件是 i n即遍历直方图数组遍历的直方图遇到比它大的栈顶栈顶弹出直到遇到比它小的才入栈。 while(in) {//在循环内部首先检查栈是否为空或者当前直方图高度大于等于栈顶元素所对应的高度。//如果满足条件则将当前索引 i 入栈并将 i 加 1。if(StackEmpty(stk)||h[StackTop(stk)]h[i])Push(i,stk);//如果不满足条件说明当前直方图高度小于栈顶元素所对应的高度。此时需要计算以栈顶元素为高度的矩形的面积。 else {//首先将栈顶元素出栈并保存在变量 tmp 中。int tmpStackTop(stk);Pop(stk);//计算矩形的面积即高度乘以宽度保存在变量 a 中。//怎么计算矩形的宽度呢 //如果栈为空则宽度为当前索引 i //【因为如果栈为空说明出栈的元素为第一个元素那么宽度刚好就是索引1//如果不是也就是说右侧的直方图都出栈右侧的直方图高度递减宽度也为索引】 //否则宽度为当前索引 i 减去栈顶元素对应的索引再减去 1。//【简单说如果不为空此时栈中的直方图是单调递增的但考虑那些弹出的直方图都比此时直方图小所以就为i-StackTop(stk)-1】 int ah[tmp]*(StackEmpty(stk)?i:i-StackTop(stk)-1);//如果当前矩形面积 a 大于最大面积 max则更新 max 的值。if(maxa)maxa;}}//此时栈中剩余直方图是单调递增的重新遍历 //保证对每个高度为h[i]的直条i计算包含该直条的最大矩形awhile(!StackEmpty(stk)) {//下面操作和上面一样 int tmpStackTop(stk);Pop(stk);int ah[tmp]*(StackEmpty(stk)?i:i-StackTop(stk)-1);if(maxa)maxa;}//返回最大值return max; }
http://www.zqtcl.cn/news/539844/

相关文章:

  • 淄博建设银行网站怎么做盗号网站手机
  • 网站建设推广的10种方法精美个人网站
  • 西安专业承接网站搭建模板网站聚合页
  • 便宜网站建设加盟推广公司
  • 手机移动端网站怎么做三维建设项目管理网站
  • 如何把网站设为正确建设中广东学校网站建设公司
  • 企业型网站建设怎样收费dw制作网站模板
  • 自适应网站欣赏医联体网站建设
  • 南安市住房和城乡建设部网站微商城网站建设行情
  • 网站开发的前景wordpress倒闭
  • 合肥网站建设网页设计免费推广渠道有哪些方式
  • 广州电力建设有限公司网站按月网站建设
  • 做网站客户会问什么问题手机如何制作网页链接
  • 做足球直播网站wordpress筛选框
  • 做网站需求文档深圳站建在边境
  • 网站建设法规浙江建设信息港证书查询
  • 影视作品网站开发与设计网站建设教程简笔画
  • 自己可以给公司做网站吗网站建设 用ftp上传文件
  • 电子商务网站开发与管理网站建设的设备
  • 网站建设项目公司沈阳网站关键字优化
  • 可以做淘宝联盟的免费网站优质国外网站
  • 石家庄营销型网站建设公司服装公司网站源码
  • 网站开发的软硬件需求做网站盘锦
  • 创意网站建设排行榜python和php哪个做网站
  • 开锁做网站怎么样榆林网站开发公司
  • 松原市建设局网站苏州网站建设-中国互联
  • 标书制作教程视频网站福田祥菱v1单排
  • 点网站出图片怎么做能看人与动物做的网站
  • 免费开源建站系统源码wordpress公共函数在哪里
  • 西昌市建设工程管理局网站模块化网站开发