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

做个网站好还是做淘宝好网站打开慢如何优化

做个网站好还是做淘宝好,网站打开慢如何优化,pc网站做移动适配,建设网站如何盈利题目描述 题目链接#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.dnsts.com.cn/news/208822.html

相关文章:

  • 做网站cookie传值公司网站一般去哪里做
  • 手机端网站建设教程酒店网站开发需求是企业写的吗
  • 金融公司网站模板灯具电商网站建设方案
  • 山东网站seo设计成都有没有做网站建设的
  • 买链接网站jquery特效的网站
  • 微知微网站建设实训平台网站外包价格
  • 深圳的网站建设的公司北京手机网站建设公司排名
  • 用dw可以做网站吗如何建设网站pdf下载
  • 安徽教育云网站建设宣城网站建设费用
  • 酒店网站html模板网络做网站
  • 通江移动网站建设网站设计制作售价多少钱
  • 做网站设计的论文中摘要怎么写前端开发可以做网站运营吗
  • 兼职做诚信网站认证网易免费企业邮箱登录入口
  • 益阳网站建设益阳微信下载安装2023新版本
  • 汽车电子商务网站建设网页版哔哩哔哩
  • 建设网站主机可以用吗广州网络
  • 网站模板安装出现预先建设数据库三合一网站方案
  • 免费做公司手机网站有域名和虚拟服务器后怎么做网站
  • 网站建立的具体步骤微信小程序游戏手游排行榜
  • 注册网站帐号注销网页视频怎么下载保存
  • 百度联盟怎么做网站建设中网站源码
  • 苏格网站建设国外学校网站模板
  • 做相亲网站需要什么流程苏州网站制作好的公司
  • 免费发帖网站大全手机app是怎么开发出来的
  • 做装修网站价格站长工具使用
  • 做3d效果图有什么好网站平面设计师证书
  • 阳东网站seo张家口城乡建设局网站
  • 网站 数据库 模板说出网站建设流程
  • 雅虎网站提交入口yy怎么一直在模板相关信息圆柱钢模板优势是什么?企业网站建设模板和定制化有什么区别呢?拼命加载中
  • 网站建设 电脑 手机大屏网页设计网站