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

网站维护报价表好公司网站建设

网站维护报价表,好公司网站建设,一键优化下载,网站开发的自适应题目描述: 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作#xff08;push、pop、peek、empty#xff09;#xff1a; 实现 MyQueue 类#xff1a; void push(int x) 将元素 x 推到队列的末尾int pop() 从队列的开头移除并返回元素int peek() 返…题目描述: 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作push、pop、peek、empty 实现 MyQueue 类 void push(int x) 将元素 x 推到队列的末尾int pop() 从队列的开头移除并返回元素int peek() 返回队列开头的元素boolean empty() 如果队列为空返回 true 否则返回 false 说明 你 只能 使用标准的栈操作 —— 也就是只有 push to top, peek/pop from top, size, 和 is empty 操作是合法的。你所使用的语言也许不支持栈。你可以使用 list 或者 deque双端队列来模拟一个栈只要是标准的栈操作即可。 题目链接:力扣LeetCode官网 - 全球极客挚爱的技术成长平台 功能思路:  在实现本题前,需要先构建好栈的基本功能,可以参考:http://t.csdnimg.cn/Kha16 1.出队列 和 入队列 现在我们有两个栈,假设在第一个栈中依次入栈1 2 3 4 5,另一个为空栈 现在要出队列的话,应该把1出队,所以需要把除了栈底元素的其他元素出栈并且入到第二个栈里,这时就可以将1出队,但是将数据导入另一个栈时,数据会倒过来 如果要再次出队列的话,应该把2出队,就不需要把数据导一次了,直接栈顶出栈即可. 若此时再入队6 7的话,可以直接把6 7入到第一个栈中,因为出栈可以直接再第二个栈中操作 所以我们可以把将一个栈专门用来入数据,另一个栈专门用来出数据,每次出队之前先判断出数据的栈是否为空,如果出数据那个栈不为空的话,直接出数据即可,否则就将入数据的栈中的数据导入出数据的栈中,再出栈. 2.返回队列开头元素 如果出数据的栈不为空,栈顶元素即为队列开头元素,否则就需要将入数据的栈的元素导入出数据的栈中,在返回栈顶元素 3.判空 两个栈同时为空,说明队列为空 参考代码: typedef int STDataType; typedef struct stack {int* a;int top;int capacity; }ST;void STInit(ST* ps) {assert(ps);ps-a NULL;ps-capacity 0;ps-top 0; //top初始化位0,top的值可以表示栈元素的个数 }void STPush(ST* ps, STDataType x) {assert(ps);//扩容if (ps-top ps-capacity){int newcapacity ps-capacity 0 ? 4 : ps-capacity * 2;STDataType* ret (STDataType*)realloc(ps-a,sizeof(STDataType)*newcapacity);if (ret NULL){perror(realloc);return;}ps-a ret;ps-capacity newcapacity;}ps-a[ps-top] x;ps-top; }void STPop(ST* ps) {assert(ps);assert(ps-top);ps-top--; }STDataType STTop(ST* ps) {assert(ps);assert(ps-top);return ps-a[ps-top - 1]; }bool STEmpty(ST* ps) {assert(ps);return ps-top 0; }int STSize(ST* ps) {assert(ps);return ps-top; }void STDestroy(ST* ps) {assert(ps);free(ps-a);ps-a NULL;ps-top ps-capacity 0; }typedef struct {ST Queuepush;ST Queuepop; } MyQueue;MyQueue* myQueueCreate() {MyQueue *obj(MyQueue*)malloc(sizeof(MyQueue));STInit(obj-Queuepush);STInit(obj-Queuepop);return obj; }void myQueuePush(MyQueue* obj, int x) {STPush(obj-Queuepush,x); }int myQueuePeek(MyQueue* obj) {if(STEmpty(obj-Queuepop)){while(!STEmpty(obj-Queuepush)){STPush(obj-Queuepop,STTop(obj-Queuepush));STPop(obj-Queuepush);}}return STTop(obj-Queuepop); }int myQueuePop(MyQueue* obj) {int front myQueuePeek(obj);STPop(obj-Queuepop);return front; }bool myQueueEmpty(MyQueue* obj) {return STEmpty(obj-Queuepop)STEmpty(obj-Queuepush); }void myQueueFree(MyQueue* obj) {STDestroy(obj-Queuepop);STDestroy(obj-Queuepush);free(obj); }
http://www.pierceye.com/news/641422/

相关文章:

  • 网站建设课程 考核目的wordpress注册确认信
  • 建设银行网站公告2022国内外重大新闻事件10条
  • 门户网站建设 简报电子工程信息建设网
  • 竞价网站模板网站模板小偷
  • 怎么做视频网站网站建设设计基础
  • 惠州网站建设公司曾做网站需要学习什么知识
  • 网站制作里面链接怎么做建网站要什么工做人员
  • 网站建设费用 会计分录网站用哪些系统做的好
  • 免费建立一个个人网站网站模板怎么引用
  • 网站推广软文公司wordpress里面备份功能在哪里
  • 贵州整站优化seo平台网站建设与开发英文文献
  • 江干区住房和城乡建设局网站北京网站开发的趋势在哪里
  • 无锡网站建设选千客云网络简单网站建设推荐
  • 设计网站推荐百度贴吧带搜索的下拉框网站
  • 长春站最新发布网站开发税费
  • 北京通州住房和城乡建设部网站网站开发运营服务合同
  • 建设网站的服务端口国外用python做的网站
  • 如何实现网站生成网页手机端网站建设的注意事项
  • 澄迈网站新闻建设哪个公司建设网站
  • 怎么免费做文学网站wordpress下载及使用说明
  • 大学做兼职英语作文网站中国建筑人才培训网
  • 健康养老网站建设展馆展厅设计效果图
  • 做甜品网站的需求分析wordpress手机移动主题
  • 大兴企业官方网站建设wordpress 电话登记插件
  • 织梦网站搜索怎么做爱拍怎么创建wordpress
  • 阿里云多网站建设绵阳专门做网站的公司有哪些
  • 网站推广的基本方法对于大部分网站来说都是适用的深圳华强北网站建设
  • 网校网站毕业设计的方案网站如何做外链教程视频
  • poiplayer wordpress广州企业网站seo
  • wordpress翻页数字广州网站整站优化