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

网站管理登录国外服务器下载

网站管理登录,国外服务器下载,百度联系方式,新蔡县做网站收多少钱目录 1.实现方法 过程详解 1.执行push 1-push 2-push 3-push 4 2.执行第一个pop 3.执行第二个pop 4.执行push 5-push 6 ​编辑 5.执行pop-pop-pop 代码实现 队列创建函数myQueueCreate 入队函数myQueuePush 出队函数myQueuePop 返回队列开头…目录 1.实现方法 过程详解 1.执行push 1-push 2-push 3-push 4 2.执行第一个pop 3.执行第二个pop 4.执行push 5-push 6 ​编辑 5.执行pop-pop-pop 代码实现 队列创建函数myQueueCreate 入队函数myQueuePush 出队函数myQueuePop 返回队列开头元素的函数myQueuePeek 判断队列是否为空的函数myQueueEmpty 队列销毁函数myQueueFree 2.提交结果 解决L19.【LeetCode笔记】用栈实现队列(方法1)遗留未讲的方法2 1.实现方法 过程详解 实现方法和方法1有较大的不同,一个栈用于入(push)数据,另一个栈(pop)用于出数据 对于push 1-push 2-push 3-push 4-pop-pop-push 5-push 6--pop-pop-pop过程画图分析 初始化时两个栈都为空,随便选一个压入数据 1.执行push 1-push 2-push 3-push 4 2.执行第一个pop 按队列的性质,需要pop 1,则需要将2,3,4拿出放到另一个栈中 3.执行第二个pop 按队列的性质,需要pop 2,此时直接对右侧栈pop 4.执行push 5-push 6 此时不能将5和6压入第二个栈,会改变队列的顺序,因此需要压入左侧的栈 5.执行pop-pop-pop 前两个pop将3和4出队 最后一次pop需要将5和6压入右侧的栈才能以正确的顺序出队 通过分析,可以得出方法2的核心在:一个栈用于入数据,另一个栈用于出数据 代码实现 由过程详解可知,可以专门定义一个栈用于入数据,另一个栈用于出数据 typedef struct {ST pushst;ST popst; } MyQueue; 队列创建函数myQueueCreate MyQueue* myQueueCreate() {MyQueue* obj(MyQueue*)malloc(sizeof(MyQueue));if (objNULL){perror(malloc);return NULL;}STInit(obj-pushst);STInit(obj-popst);return obj; }入队函数myQueuePush void myQueuePush(MyQueue* obj, int x) {STPush(obj-pushst,x); } 出队函数myQueuePop 这里要分类讨论,由过程详解可知,要判断栈popst是否为空,如果为空,需要将pushst的数据(前提是有数据,因此还要再做一次判断,即嵌套判断)全部拿过来,记录栈顶元素后再pop int myQueuePop(MyQueue* obj) {if (STEmpty(obj-popst)){while(!STEmpty(obj-pushst)){STPush(obj-popst,STTop(obj-pushst));STPop(obj-pushst);}}int frontSTTop(obj-popst);STPop(obj-popst);return front; }返回队列开头元素的函数myQueuePeek 和myQueuePop类似,返回popst的栈顶元素,如果popst为空,则将需要将pushst的数据拿过来 int myQueuePeek(MyQueue* obj) {if (STEmpty(obj-popst)){while(!STEmpty(obj-pushst)){STPush(obj-popst,STTop(obj-pushst));STPop(obj-pushst);}}return STTop(obj-popst); } 这里myQueuePop的第二种写法,让代码更简洁 int myQueuePop(MyQueue* obj) {int frontmyQueuePeek(obj);STPop(obj-popst);return front; }注意:使用myQueuePeek前要声明否则报错!!! 判断队列是否为空的函数myQueueEmpty 当两个栈都为空时,队列才为空 bool myQueueEmpty(MyQueue* obj) {return STEmpty(obj-pushst) STEmpty(obj-popst); } 队列销毁函数myQueueFree malloc是怎么开辟的,那队列就是怎么销毁的 结构图 void myQueueFree(MyQueue* obj) {STDestory(obj-pushst);STDestory(obj-popst);free(obj); } 2.提交结果
http://www.yayakq.cn/news/2967/

相关文章:

  • 表格做网站浙江省网站域名备案
  • 欧卡乐网站建设湖南微信网站
  • 做vr效果图的网站新品发布会发言稿
  • 建设工程j教育网站淘宝网页设计尺寸
  • 十万pv的网站建设有货 那样的网站怎么做
  • 如何构建一个成交型网站开源知识管理系统
  • 个人在网站怎么做公益免费空间主机
  • 最新新闻热点事件50字营销导向的企业网站优化
  • 广州天河建网站的公司苏州市网站建设服务
  • 网站建设与维护工作待遇网页设计尺寸一般多少像素
  • 梅州做网站wlwl房产中介网站
  • 手机网站怎么做淘宝客国外做装修设计网站
  • 商城网站怎么做推广方案郑州营销型网站公司电话
  • 苏州做网站好的公司平台型网站建设预算表
  • 站长工具端口查询郑州银行app
  • 网站基建建设怎么用优盘做网站登录密钥
  • 专业做曝光引流网站高端人才招聘网站排名
  • 静态网站建设教程建设一个企业网站多少钱
  • 网站开发过程在线学习平台网站建设有什么功能
  • 网站审批需要什么手续辽宁城建设计院有限公司网站
  • 吴江建网站wordpress 标签插件
  • 天晴创艺网站建设百度小程序佛山网站优化步骤
  • win7可以做网站吗设计师之家
  • 广州网站建设多少钱广东省阳江网络问政平台
  • 青岛网站建设公司招聘上海环球金融中心简笔画
  • 用kid做教育网站域名商丘至开网络科技有限公司
  • 将网站保存怎么做lol怎么做直播网站
  • 福建设计招聘网站做微信公众号的网站吗
  • 两学一做 山西答题网站茌平网站制作
  • 兰州做网站怎么样wordpress怎样修改页脚版权信息