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

建设网站赚钱吗热点新闻素材

建设网站赚钱吗,热点新闻素材,网页链接调用服务需要开启还是关闭,怎么制作小网站 不用域名的之前我们就讲过队列#xff0c;栈的基础知识#xff0c;笔者之前有过详细的介绍#xff0c;感兴趣的可以根据笔者的个人主页进行查找#xff1a;https://blog.csdn.net/weixin_64308540/?typelately225. 用队列实现栈请你仅使用两个队列实现一个后入先出#xff08;LIFO栈的基础知识笔者之前有过详细的介绍感兴趣的可以根据笔者的个人主页进行查找https://blog.csdn.net/weixin_64308540/?typelately225. 用队列实现栈请你仅使用两个队列实现一个后入先出LIFO的栈并支持普通栈的全部四种操作push、top、pop 和 empty。实现 MyStack 类void push(int x) 将元素 x 压入栈顶。int pop() 移除并返回栈顶元素。int top() 返回栈顶元素。boolean empty() 如果栈是空的返回 true 否则返回 false 。 注意你只能使用队列的基本操作 —— 也就是 push to back、peek/pop from front、size 和 is empty 这些操作。你所使用的语言也许不支持队列。 你可以使用 list 列表或者 deque双端队列来模拟一个队列 , 只要是标准的队列操作即可。 示例输入[MyStack, push, push, top, pop, empty] [[], [1], [2], [], [], []]输出[null, null, null, 2, 2, false]解释MyStack myStack new MyStack(); myStack.push(1); myStack.push(2); myStack.top(); // 返回 2 myStack.pop(); // 返回 2 myStack.empty(); // 返回 False 提示1 x 9最多调用100 次 push、pop、top 和 empty每次调用 pop 和 top 都保证栈不为空 进阶你能否仅用一个队列来实现栈。首先我们需要知道的是队列先进先出  栈先进后出模式所以一个队列不能实现栈只能用两个队列我们在MyStack文件首先我们需要定义一个两个队列 private QueueInteger qu1;private QueueInteger qu2; 然后我们需要对这两个队列进行初始化 //初始化两个队列public MyStack(){qu1new LinkedList();qu2new LinkedList();}接下来我们就需要进入真正的主题了将元素压入栈 // 将元素压入栈  找不为空的队列public void push(int x){if (!qu1.isEmpty()){qu1.offer(x);}else if (!qu2.isEmpty()){qu2.offer(x);}else {qu1.offer(x);}} 将元素压入栈这个思路很简单主要还是要找不为空的队列qu1与qu2两个队列哪个队列不为空就放哪个如果两个队列都为空则放qu1队列移除并且返回栈顶元素 //移除并且返回栈顶元素//出栈并返回出size-1个元素到另一个队列中public int pop(){if (empty()){return -1;//如果两个队列都为空则说明当前栈为空}if (!qu1.isEmpty()){int sizequ1.size();for (int i 0; i size-1; i) {int valqu1.poll();qu2.offer(val);}return qu1.poll();//最后qu1剩余1个就是我们想要移除的}else {int sizequ2.size();for (int i 0; i size-1; i) {int valqu2.poll();qu1.offer(val);}return qu2.poll();//最后qu2剩余1个就是我们想要移除的}}在这个思路中我们需要将第一个栈不为空的size个元素移到第二个栈为空的里面最后所剩余的哪一个就是我们想要移除的元素在这里我们用到了判断栈是否为空 //如果栈是空的则返回true,否则返回falsepublic boolean empty(){return qu1.isEmpty() qu2.isEmpty();//确保两个队列都不为空}返回栈顶元素peek()偷看//返回栈顶元素peek()偷看public int pop(){if (empty()){return -1;}if (!qu1.isEmpty()){int sizequ1.size();int val-1;for (int i 0; i size; i) {valqu1.poll();qu2.offer(val);}return val;}else {int sizequ2.size();int val-1;for (int i 0; i size; i) {valqu2.poll();qu1.offer(val);}return val;}}主要的思路判断是否为空若qu1不为空则通过val将qu1中的数据全部转移到qu2中最后一次转移的值就是我们想要的232. 用栈实现队列请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作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双端队列来模拟一个栈只要是标准的栈操作即可。 示例 1输入[MyQueue, push, push, peek, pop, empty] [[], [1], [2], [], [], []]输出[null, null, null, 1, 1, false]解释MyQueue myQueue new MyQueue(); myQueue.push(1); // queue is: [1] myQueue.push(2); // queue is: [1, 2] (leftmost is front of the queue) myQueue.peek(); // return 1 myQueue.pop(); // return 1, queue is [2] myQueue.empty(); // return false 提示1 x 9最多调用 100 次 push、pop、peek 和 empty假设所有操作都是有效的 例如一个空的队列不会调用 pop 或者 peek 操作 进阶你能否实现每个操作均摊时间复杂度为 O(1) 的队列换句话说执行 n 个操作的总时间复杂度为 O(n) 即使其中一个操作可能花费较长时间。初始准备阶段:准备两个栈 private StackInteger stack1;private StackInteger stack2;然后我们在对准备好的两个栈进行初始化 public MyQueue() {stack1new Stack();stack2new Stack();}下面我们就开始步入正轨将元素x 推到队列的队尾 //将元素x推到队列的末尾public void push(int x){stack1.push(x);//往栈中放入元素全部放入第一个栈中}从队列的开头移除并返回元素 //从队列的开头移除并返回元素public int pop(){if (empty()){return -1;}if (stack2.empty()){while (!stack1.empty()){stack2.push(stack1.pop());}}return stack2.pop();//将第2个栈的栈顶元素出栈}在这个过程中我们规定第一个栈输入栈第二个栈输出栈当第二个栈为空时则将第一个栈的所有元素都导入第二个栈中在这个代码中我们自己定义了一个判断栈是否为空的函数 //如果队列为空返回true,否则返回falsepublic boolean empty(){return stack1.empty() stack2.empty();}返回队列开头的元素偷看 //返回队列开头的元素偷看public int peek(){if (empty()){return -1;}if (stack2.empty()){while (!stack1.empty()){stack2.push(stack1.pop());}}//偷看第2个栈的栈顶元素return stack2.peek();}在上述的两个列题中我们分别用用队列实现栈用栈实现队列作为两个小小的列题我们最后可以得出一下规律- 用队列实现栈 - 优点因为栈是后进先出的结构用队列可以有效的实现这一性质即添加元素为一个队列的末端而移除元素只允许从另一个队列的末端移除。 - 缺点实现较为复杂需要两个队列来进行实现还需要额外的空间来存储数据。- 用栈实现队列 - 优点实现简单只需要用一个栈来存储数据另一个栈仅仅用于存储另一个栈的临时元素。 - 缺点由于栈只能实现先进后出的结构它不能有效的实现队列的先进先出的特性。
http://www.hkea.cn/news/14261387/

相关文章:

  • 营销网站制作公司创建全国文明城市的意义
  • 做安卓开发要去看哪些网站艺术字体设计网
  • 滨州正规网站建设哪家好有哪些网站做生鲜到家
  • 网站统计工具是什么意思wordpress 安装不上
  • 大连培训通网站建设云开发参数
  • 沈阳网站制作全过程云营销网站建设电话咨询
  • 岳阳建设企业网站wordpress 模板 新闻
  • 什么网站能免费做公众号封面移动互联网开发试卷
  • 怎么让客户做网站团购网站策划
  • 800元做网站怎么注册建设公司网站
  • 做网站群的公司网站源代码在哪里
  • 校园二手网站设计论文计算机网络基础课程
  • 思政网站建设管理自查报告上海高端品牌网站建设
  • 做医学期刊杂志网站内部网站 建设目标
  • 网站建设福州公司中国移动和办公app下载
  • 唯品会网站建设 分析报告asp做网站主要技术
  • 响水专业做网站用wordpress做外贸网站
  • 网站建设和备案的顺序wordpress 页面id
  • 做下载网站好不好做多用户商城系统网站建设
  • wordpress资讯站模板九创wordpress
  • 深圳网站建设哪家好网站优化知识资讯
  • 公司网站百度地图wordpress主题报错
  • 国外的工业设计网站在网上做游戏网站违法吗
  • 网页布局设计图片婚纱摄影网站seo方案
  • 昆山建设局图审中心网站网站开发毕业设计说明书范文
  • 怎么给网站做谷歌seo中国服务外包
  • 做网站(信科网络)福州关键词自动排名
  • 企业网站建设的内容什么是互联网公司
  • 网站建设怎么学习他达拉非可以长期服用吗
  • 东莞企业网站制作怎么做简单网站建设方案