当前位置: 首页 > 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.zqtcl.cn/news/491426/

相关文章:

  • 运城公司网站建设苏州网站建设苏州
  • 湖北省住房和建设厅网站首页网站用免费空间好不好
  • 网站建设公司案例做网站小图标大全
  • 美食网站主页怎么做网络营销推广的作用
  • 上海建站价格wordpress表白系统
  • 唐山 建设工程信息网站中天钢铁 网站建设
  • 公司没有备案了网站摄影素材网站
  • 正规的网店平台有哪些北京公司排名seo
  • 网页制作素材库哪个网站上海门户网站开发
  • 做网站 分辨率应该是多少做阿里巴巴网站要多少钱
  • 有专业做外贸的网站吗千岛湖网站建设
  • 百度怎么做开锁网站中国咖啡网站建设方案
  • 新网站不被收录郑州网站建设培训学校
  • 网站群建设意见征集北京做网站报价
  • 网站建设开发费会计处理山东省住房和城乡建设厅二建查询
  • 市工商局网站建设情况襄阳网站seo诊断
  • 动漫做那个视频网站单网页网站如何做
  • 企业网站名是什么意思广州公共交易中心
  • 做网站那家好沈阳做网站公司哪家好
  • 现在做一个网站大概多少钱中国住房城乡建设部网站
  • 高端企业网站建设核心秦皇岛网站制作人才招聘
  • 网站制作花多少钱简历模板表格
  • 泰安专业网站开发公司网页设计师常逛网站
  • 百度收录万网空间的网站需要多久推广seo网站
  • 个体工商户可以做网站备案吗微信app下载安装官方版2023
  • 内贸在什么网站做做网站需要提供哪些信息
  • 物流网站怎么做推广网页程序开发语言
  • 静态网站跟动态网站开发的层次
  • 公司购买网站怎么做分录被k掉的网站怎么做才能有收录
  • 网页制作相关网站网络卖货平台有哪些