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

如何学网站建设网站优化技术

如何学网站建设,网站优化技术,上海网站建设seodian,易语言wordpress发布232. 用栈实现队列 232.用栈实现队列 这里用两个栈来模拟队列以此实现队列的先进先出, 注意点 1.dump()方法将stackin的元素移入到stackout的操作,是要将stackin的全部元素放到stackout中,所以用while循环判断 stackIn是否为空 2.新建栈…

232. 用栈实现队列

232.用栈实现队列

这里用两个栈来模拟队列以此实现队列的先进先出,

注意点

1.dump()方法将stackin的元素移入到stackout的操作,是要将stackin的全部元素放到stackout中,所以用while循环判断 stackIn是否为空

2.新建栈的方法

class MyQueue {Stack<Integer> stackIn;Stack<Integer> stackOut;public MyQueue() {stackIn=new Stack<>();stackOut=new Stack<>();}public void push(int x) {// 将元素 x 推到队列的末尾stackIn.push(x);}public int pop() {//从队列的开头移除并返回元素dump();return stackOut.pop();}public int peek() {//返回队列开头的元素dump();return stackOut.peek();}public boolean empty() {// 如果队列为空,返回 true ;否则,返回 falsereturn stackIn.isEmpty()&&stackOut.isEmpty();}public void dump(){//如果stackout为空,那么把stackin的元素放到stackout中if(!stackOut.isEmpty()){return;}while(!stackIn.isEmpty()){//注意这里是while,这里如果是while(stackOut.isEmpty()),那么push进去一个就结束了// System.out.println(stackIn.pop());这里先pop了,导致后面empty()方法输出错误stackOut.push(stackIn.pop());}}
}/*** Your MyQueue object will be instantiated and called as such:* MyQueue obj = new MyQueue();* obj.push(x);* int param_2 = obj.pop();* int param_3 = obj.peek();* boolean param_4 = obj.empty();*/

225. 用队列实现栈

225.用队列实现栈

队列实现栈(需要二刷)

解法1 使用两个队列实现栈

  • offer() 是往队列中添加一个元素,若队列已满而仍往队列中添加,则会返回false
  • poll() 是删除队列中的第一个元素,在对空队列进行操作时,返回null
  • peek() 是输出队列的第一个元素,队列为空时,返回null
class MyStack {//使用两个队列实现站Queue<Integer> q1;Queue<Integer> q2;public MyStack() {q1=new LinkedList<>();q2=new LinkedList<>();}public void push(int x) {q2.offer(x);//先给q2添加一个元素while(!q1.isEmpty()){q2.offer(q1.poll());  //从q1拿出元素放到q2中}Queue<Integer> queueTemp;queueTemp=q1;q1=q2;q2=queueTemp;//交换q1和q2,将元素放到q1中}public int pop() {return q1.poll();}public int top() {return q1.peek();}public boolean empty() {return q1.isEmpty();}
}/*** Your MyStack object will be instantiated and called as such:* MyStack obj = new MyStack();* obj.push(x);* int param_2 = obj.pop();* int param_3 = obj.top();* boolean param_4 = obj.empty();*/

解法2 使用1个队列实现栈

思路是每次向队列添加一个元素后,对队列中的元素进行重新排序


class MyStack {//使用单个队列实现站Queue<Integer> q1;public MyStack() {q1=new LinkedList<>();}//每次push进来一个数,都对队列里面的数字进行重新排列public void push(int x) {q1.offer(x);//添加一个数字int size=q1.size();while(size-->1){q1.offer(q1.poll());}}public int pop() {return q1.poll();}public int top() {return q1.peek();}public boolean empty() {return q1.isEmpty();}
}/*** Your MyStack object will be instantiated and called as such:* MyStack obj = new MyStack();* obj.push(x);* int param_2 = obj.pop();* int param_3 = obj.top();* boolean param_4 = obj.empty();*/

http://www.dinnco.com/news/39360.html

相关文章:

  • 制作企业网站的seo深圳网络推广
  • 做石材外贸用什么网站《新闻联播》今天
  • 天水网站制作苏州百度
  • 做购物网站的公司seo外链资源
  • 网站制作的订单株洲seo优化首选
  • 使用wampserver做响应式网站企业seo排名有 名
  • 网站建设品牌有哪些百度官网app下载
  • wordpress内容页怎么分页宁波正规站内优化seo
  • 内容管理系统WordPress安阳企业网站优化外包
  • 如何做凡客网站冯耀宗seo教程
  • 刘娇娇做网站骗钱的cba最新消息
  • 乐清做网站建设大数据分析网站
  • 图书网站开发的实践意义专门搜索知乎内容的搜索引擎
  • 聚美网站开发开题报告网站优化排名易下拉排名
  • 网站建设与管理教学视频下载百度站长工具验证
  • 许昌做网站公司哪家专业百度云群组
  • 岳阳网站开发开封网站推广
  • 网站建设的意义app推广代理平台
  • 怎么做网站的seo排名知乎优化网站的意思
  • 网站悬浮窗怎么做盲盒
  • 建设网站熊掌号郑州网络推广团队
  • 常用的设计网站seo优化教程培训
  • 烟台做网站哪家好域名查询大全
  • 做网站技巧制作自己的网页
  • 网站怎么申请备案seo检测
  • 专门做ppt的网站名称seo品牌优化整站优化
  • 专业做化妆品的网站杭州搜索引擎排名
  • 丽水手机网站建设互动营销经典案例
  • 南昌建站价格网络优化培训要多少钱
  • 如何制作旅游网站品牌营销推广