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

南漳网页设计廊坊首页霸屏排名优化

南漳网页设计,廊坊首页霸屏排名优化,学ui设计适合什么样的人,厦门网页建站申请费用题目描述 题目链接#xff1a;225. 用队列实现栈 - 力扣#xff08;LeetCode#xff09; 题目分析 我们先把之前写的队列实现代码搬过来 用队列实现栈最主要的是实现栈后进先出的特点#xff0c;而队列的特点是先进先出#xff0c;那么我们可以用两个队列来实现 一个队…题目描述 题目链接225. 用队列实现栈 - 力扣LeetCode 题目分析 我们先把之前写的队列实现代码搬过来 用队列实现栈最主要的是实现栈后进先出的特点而队列的特点是先进先出那么我们可以用两个队列来实现 一个队列存数据另一个队列在出数据的时候导数据  具体的接口有下面几个 初始化 我们先创建一个结构体来封装两个队列 初始化两个队列 销毁 我们要分析清楚这个结构pst存q1,q2两个队列需要先销毁q1和q2然后释放pst 入栈 入栈我们入到不为空的队列中去当q1不为空则入队列q1否则入队列q2 出栈 出栈的时候就需要导数据了比如数据都在q1中q2为空这时我们先判断空队列是哪一个然后将非空队列前n-1个数据导入到空队列中最后留一个数据就是栈顶数据也是队列的队头数据可以用QFront接口先用top保存这个数据接着pop掉这个数据返回top 判空 返回栈顶元素 直接取不为空队列的队尾数据 代码示例 #define _CRT_SECURE_NO_WARNINGS 1 #include stdio.h #include stdlib.h #include stdbool.h #include assert.h //创建 typedef int QDataType; typedef struct QueueNode {QDataType val;struct QueueNode* next; }QNode;typedef struct Queue {QNode* phead;QNode* ptail;int size; }Queue; //把队列的头尾封装在一个结构体中//初始化 void QInit(Queue* pq); //销毁 void QDestroy(Queue* pq);//入队列 void QPush(Queue* pq, QDataType x); //出队列 void QPop(Queue* pq); //取队头数据 QDataType QFront(Queue* pq); //取队尾数据 QDataType QBack(Queue* pq); //判空 bool QEmpty(Queue* pq); //返回队列有效元素个数 int QSize(Queue* pq);//初始化 void QInit(Queue* pq) {assert(pq);pq-phead pq-ptail NULL;pq-size 0; } //销毁 void QDestroy(Queue* pq) {assert(pq);QNode* cur pq-phead;while (cur){QNode* next cur-next;free(cur);cur next;}pq-phead pq-ptail NULL;pq-size 0; } //入队列 void QPush(Queue* pq, QDataType x) {assert(pq);//创建newnodeQNode* newnode (QNode*)malloc(sizeof(QNode));if (newnode NULL){perror(malloc fail);return;}newnode-val x;newnode-next NULL;if (pq-ptail NULL){pq-phead pq-ptail newnode;}else{pq-ptail-next newnode;pq-ptail newnode;}pq-size; } //出队列 void QPop(Queue* pq) {assert(pq);assert(pq-phead);QNode* del pq-phead;pq-phead pq-phead-next;free(del);del NULL;if (pq-phead NULL){pq-ptail NULL;//防止ptail成为野指针}pq-size--; } //取队头数据 QDataType QFront(Queue* pq) {assert(pq);assert(pq-phead);return pq-phead-val; } //取队尾数据 QDataType QBack(Queue* pq) {assert(pq);assert(pq-ptail);return pq-ptail-val; } //判空 bool QEmpty(Queue* pq) {assert(pq);return pq-phead NULL; } //返回队列有效元素个数 int QSize(Queue* pq) {assert(pq);return pq-size; }typedef struct MyStack{Queue q1;Queue q2; } MyStack;MyStack* myStackCreate() {MyStack* pst (MyStack*)malloc(sizeof(MyStack));QInit((pst-q1));QInit((pst-q2));return pst; }void myStackPush(MyStack* obj, int x) {if (!QEmpty((obj-q1))){QPush((obj-q1), x);}else{QPush((obj-q2), x);} }int myStackPop(MyStack* obj) {Queue* empty (obj-q1);Queue* nonempty (obj-q2);if (!QEmpty((obj-q1))){empty (obj-q2);nonempty (obj-q1);}while (QSize(nonempty) 1){QPush(empty, QFront(nonempty));QPop(nonempty);}int top QFront(nonempty);QPop(nonempty);return top;}int myStackTop(MyStack* obj) {if (!QEmpty((obj-q1))){return QBack((obj-q1));}else{return QBack((obj-q2));} }bool myStackEmpty(MyStack* obj) {return QEmpty((obj-q1)) QEmpty((obj-q2)); }void myStackFree(MyStack* obj) {QDestroy((obj-q1));QDestroy((obj-q2));free(obj); }
http://www.pierceye.com/news/491426/

相关文章:

  • 网站建设教程皆赞湖南岚鸿完成站长网站大全
  • 广州市网站建设 合优系统学做网站
  • 网站建设客户相关问题wordpress主题怎么选
  • 网站数据迁移教程网络营销项目策划书范文
  • 网站 只收录首页网站建设手机端页面模板
  • 光明区建设局网站云南省工程建设造价协会网站
  • 网站建设视频教程 百度云网站制作背景图片
  • 网站域名起名网站建设企业排行榜
  • 高端品牌网站定制设计wordpress多张页面左右滑动
  • git网站开发网名logo设计制作
  • seo在线网站诊断推推蛙seo兼职怎么收费
  • 网站数据分析视频深圳市昊客网络科技有限公司
  • 外贸网站做开关行业的哪个好网站互动优化
  • 西班牙语网站设计哪家好开发一个跑腿app需要多少钱
  • 怎么才能提高网站点击量 免费网站原型图软件
  • wordpress私人建站主题网络公司手机网站
  • 做网站设计比较好的公司wordpress wp_trim_words
  • 湖南对外建设集团网站wordpress中数据库配置文件
  • 设计类网站模板物流企业网站建设策划书
  • dw建设手机网站永久免费网站推荐
  • 微信官方网站怎么进入自己做网站推广试玩
  • 郑州网站建设老牌公司贵州省城乡建设厅网站材料价
  • 网站建设费是什么上海建设网站公司
  • 怎么查出这个网站是谁做的谷歌首页
  • 桂林网站建设国内crm系统哪家好
  • 网站建设数据库配置查看商标是否被注册官网
  • 关于网站制作做网站用com还是cn好
  • 手机网站支付网站建设 sheji021
  • 兴义网站制作网上开的公司网站打不开
  • 三只松鼠的网站建设理念桐庐营销型网站建设