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

建设部网站四库一平台网页制作费用明细

建设部网站四库一平台,网页制作费用明细,五寨网站建设,规划网站的思路分享一首歌曲吧#xff0c;希望在枯燥的刷题生活中带给你希望和勇气#xff0c;加油#xff01; 题目#xff1a; 请你仅使用两个队列实现一个后入先出#xff08;LIFO#xff09;的栈#xff0c;并支持普通栈的全部四种操作#xff08;push、top、pop 和 empty#…分享一首歌曲吧希望在枯燥的刷题生活中带给你希望和勇气加油 题目 请你仅使用两个队列实现一个后入先出LIFO的栈并支持普通栈的全部四种操作push、top、pop 和 empty。 实现 MyStack 类 void push(int x) 将元素 x 压入栈顶。int pop() 移除并返回栈顶元素。int top() 返回栈顶元素。boolean empty() 如果栈是空的返回 true 否则返回 false 。 题解  首先自己实现一个队列粘贴复制过去 注意这道题目队列的实现方法不同不会影响题目只要是个队列先进先出那么不管你是双向还是结构不同都不会影响题目的实现。 #include stdio.h #include stdlib.h #include assert.h #include stdbool.htypedef int DataType; typedef struct Queue {DataType data;struct Queue *next; }Queue;typedef struct Q {Queue* head;Queue* tail;int size; }Q;void Init(Q *qq); void Destroy(Q* qq); void QueuePush(Q* qq, DataType x); void QueuePop(Q* qq); DataType GetQueueFrontNum(Q* qq); DataType GetQueueBackNum(Q* qq); bool Empty(Q* qq); int Size(Q* qq);void Init(Q* qq) {assert(qq);qq-head NULL;qq-tail NULL;qq-size 0; }void QueuePush(Q* qq, DataType x) {assert(qq);Queue* temp (Queue*)malloc(sizeof(Queue));if (temp NULL){perror(malloc fail);exit(-1);}temp-data x;temp-next NULL;if (qq-tail NULL)qq-head qq-tail temp;else{qq-tail-next temp;qq-tail temp;}qq-size; }void QueuePop(Q* qq) {assert(qq);assert(!Empty(qq));if (qq-head qq-tail){free(qq-head);qq-head qq-tail NULL;}else{Queue* next qq-head-next;free(qq-head);qq-head next;}qq-size--; }DataType GetQueueFrontNum(Q* qq) {assert(qq);assert(!Empty(qq));return qq-head-data; }DataType GetQueueBackNum(Q* qq) {assert(qq);assert(!Empty(qq));return qq-tail-data; }bool Empty(Q* qq) {assert(qq);return qq-size 0; }void Destroy(Q* qq) {assert(qq);Queue *cur qq-head;while(cur){Queue *next cur-next;free(cur);cur next;}qq-head qq-tail NULL;qq-size 0; }int Size(Q* qq) {assert(qq);return qq-size; } 剩下的就是题目接口 typedef struct {Q q1;Q q2; } MyStack; MyStack* myStackCreate() {MyStack *st (MyStack*)malloc(sizeof(MyStack));Init(st-q1);Init(st-q2);return st; } void myStackPush(MyStack* obj, int x) {if(!Empty(obj-q1)){QueuePush(obj-q1,x);}else{QueuePush(obj-q2,x);} }int myStackPop(MyStack* obj) {Q *empty obj-q1;Q *obempty obj-q2;if(!Empty(obj-q1)){empty obj-q2;obempty obj-q1;}int sz Size(obempty) - 1;for(int i0; isz; i){QueuePush(empty,GetQueueFrontNum(obempty));QueuePop(obempty);}int num GetQueueFrontNum(obempty);QueuePop(obempty);return num; } int myStackTop(MyStack* obj) {if(!Empty(obj-q1)){return GetQueueBackNum(obj-q1);}else{return GetQueueBackNum(obj-q2);} } bool myStackEmpty(MyStack* obj) {return (obj-q1)-size 0 (obj-q2)-size 0; }void myStackFree(MyStack* obj) {Destroy(obj-q1);Destroy(obj-q2);free(obj); }
http://www.dnsts.com.cn/news/211731.html

相关文章:

  • t字型布局的网站在dw怎么做水果网站策划书
  • shopping跨境电商平台青岛seo青岛黑八网络最强
  • 如何寻找做企业网站的品牌策划案范本
  • 南充城市建设投诉网站做化工的网站
  • 有没有返利网站做京东的室内设计培训教程
  • 茶叶网站设计c 手机版网站开发
  • 有没有代做模型的网站海南政务网
  • 青白江区网站开发招聘wordpress多少钱一年
  • 在重庆 那里可以做诚信网站认证未来做那个网站能致富
  • 千博企业网站管理系统营销旗舰版建设建设部网站
  • 开发网站需要多久公司网站建设进度表
  • 大学生网站开发文档营销网络电话软件
  • 泉州公司网站建设小程序登录后怎么退出
  • 建设网站所有步骤wordpress模版 使用
  • 网站站点文件夹权限设置营销型网站的建设
  • 做seo推广手机网站网站建设技术百科
  • 宝塔面板怎么做多个网站秦皇岛平台公司
  • 定制一个高端网站腾讯云 wordpress博客
  • 单页营销型网站模板下载什么是新零售
  • 国人wordpress企业主题合肥seo
  • 厦门电脑网站建设梅河口网站建设
  • 展示网站开发 大概多少钱苏州网站制作计划
  • 郑州网站建设moran弄一个网站多少钱
  • 什么是网站托管网站优化检查
  • 软件公司排名国内wordpress用哪个seo
  • wordpress动漫网站网页优化seo公司
  • python 网站开发 sae怎么做快递网站的分点
  • 萧山网站建设微信 话做好网站建设
  • 常州网站建设公司有名的设计工作室
  • 资源网站推荐青岛销售系统app开发