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

pc做网站服务器吗百度开放平台登录

pc做网站服务器吗,百度开放平台登录,wix如何做网站,东莞百度seo电话实现代码放开头,供大家学习与查阅 目录 一、实现代码 二、什么是栈 三、栈的常见操作 底层实现是链表。 入栈 出栈 四、Stack的使用 五、栈的习题 第一题 第二题 第三题 第四题 第五题 第六题 第七题 六、栈、虚拟机栈、栈帧的区别 目录 一、…

实现代码放开头,供大家学习与查阅 

目录

一、实现代码

二、什么是栈

三、栈的常见操作

底层实现是链表。

入栈

出栈 

四、Stack的使用

五、栈的习题

第一题

第二题

第三题

第四题

第五题 

第六题 

第七题 

六、栈、虚拟机栈、栈帧的区别


目录

一、实现代码

二、什么是栈

三、栈的常见操作

底层实现是链表。

入栈

出栈 

四、Stack的使用

五、栈的习题

第一题

第二题

第三题

第四题

第五题 

第六题 

第七题 

六、栈、虚拟机栈、栈帧的区别


一、实现代码

package demo1;import java.util.Arrays;
import java.util.Stack;public class MyStack {int[] array;int size;public MyStack() {array = new int[3];}private void ensureCapacity() {if (array.length == size) {array = Arrays.copyOf(array, 2 * array.length);}}public int push(int e) {ensureCapacity();array[size++] = e;return e;}public int pop() {int i = peek();size--;return i;}public int peek() {if (empty()) {throw new RuntimeException("栈为空,无法获取栈顶元素");}return array[size - 1];}public int size() {return size;}public boolean empty() {return 0 == size;}
}

二、什么是栈

简单来说,先进后出的队伍! 

堆叠这些元素的底部,我们叫栈底,顶部我们叫栈顶。 元素进入栈,叫入栈。元素离开栈,叫出栈。生活有很多类似于栈:

三、栈的常见操作

底层实现是链表。

入栈

只需要把节点添加到链表中的头节点即可。 

出栈 

只需要和删除链表的头节点即可

四、Stack的使用

方法功能
Stack()构造一个空的栈
E push(E e)将e入栈,并返回e
E pop()将栈顶元素出栈并返回
E peek()获取栈顶元素
int size()获取栈中有效元素个数
boolean empty()检测栈是否为空

public static void main(String[] args) {Stack<Integer> s = new Stack();s.push(1);s.push(2);s.push(3);s.push(4);System.out.println(s.size()); // 获取栈中有效元素个数---> 4System.out.println(s.peek()); // 获取栈顶元素---> 4s.pop(); // 4出栈,栈中剩余1 2 3,栈顶元素为3System.out.println(s.pop()); // 3出栈,栈中剩余1 2 栈顶元素为3
if(s.empty()){System.out.println("栈空");
}else{System.out.println(s.size());}
}

五、栈的习题

第一题

1. 若进栈序列为 1,2,3,4 ,进栈过程中可以出栈,则下列不可能的一个出栈序列是()

A: 1,4,3,2 B: 2,3,4,1 C: 3,1,4,2 D: 3,4,2,1 

答案选C,因为栈遵循先进后出。所以后面进来的数字可以先出去,

对于A:1入栈后出栈,就是4入栈后出栈(这里2和3已经入栈了,栈顶3),3出栈,2出栈

对于B:2入栈后出栈(这里1已经入栈了)3入栈后出栈,4入栈后出栈,1出栈

对于C:3入栈后出栈(这里1和2已经入栈,栈顶2)因为栈顶为2,只能出2,不能是1

对于D:3入栈后出栈(这里1和2已经入栈,栈顶2)4入栈后出栈。2出栈,1出栈 

第二题

2.一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺 序是( )。

A: 12345ABCDE B: EDCBA54321 C: ABCDE12345 D: 54321EDCBA 

选B,依次进栈,栈底为1,栈顶为E,先出E,最后是1。

第三题

逆序打印链表 

// 递归方式
void printList(Node head){if(null != head){printList(head.next);System.out.print(head.val + " ");
}
}
// 循环方式
void printList(Node head){if(null == head){return;
}Stack<Node> s = new Stack<>();
// 将链表中的结点保存在栈中Node cur = head;while(null != cur){s.push(cur);cur = cur.next;
}
// 将栈中的元素出栈while(!s.empty()){System.out.print(s.pop().val + " ");
}
}

第四题

括号匹配

思路如下:

1.我们先new一个栈,来存放左括号,如果遇到右括号,就pop出来看看匹不匹配 

2.循环走完,如果栈刚好为空,则true;如果没走完循环,栈就空了,说明不匹配false。

public boolean isValid(String s) {Stack<Character> Stack=new Stack<>();for(int i=0;i<s.length();i++){char ch=s.charAt(i);if(ch=='('||ch=='{'||ch=='['){Stack.push(ch);}else{if(Stack.empty()){return false;}char chL=Stack.peek();if(chL=='('&&ch==')'||chL=='{'&&ch=='}'||chL=='['&&ch==']'){Stack.pop();}else{return false;}}}return Stack.empty();}

第五题 

逆波兰表达式

什么是逆波兰表达式?

答:逆波兰表达式也叫后缀表达式,我们平常见的数学计算式比如10+(1-2)就是中缀表达式,它的后缀表达式为1012-+。

拓展:如何中缀转后缀?

思路如下:

new一个栈存放数字,如果遇到操作符就pop栈里面的两个数字出来,然后把操作后的数字再push到栈顶,最后pop出栈里面的最后一个数 

public int evalRPN(String[] tokens) {Stack<Integer> Stack = new Stack<>();for (int i = 0; i < tokens.length; i++) {if (!isOparation(tokens[i])) {Integer var = Integer.valueOf(tokens[i]);Stack.push(var);} else {Integer var2 = Stack.pop();Integer var1 = Stack.pop();switch (tokens[i]) {case "+":Stack.push(var1 + var2);break;case "-":Stack.push(var1 - var2);break;case "*":Stack.push(var1 * var2);break;case "/":Stack.push(var1 / var2);break;}}}return Stack.pop();}public boolean isOparation(String s) {if (s.equals("+") || s.equals("-") || s.equals("*") || s.equals("/")) {return true;}return false;}

第六题 

 出栈入栈顺序匹配

思路如下:

 new一个栈存放数据,

1.遍历pushV数组,每次入栈之后,判断是否和popV数组下标的数一致

2.不一样,继续i++;一样,出栈,j++

3.出栈的过程当中,如果一直是一样的,那么一直出,遇到不一样的,i++继续入栈

public boolean IsPopOrder (int[] pushV, int[] popV) {// write code hereint j=0;Stack<Integer> stack=new Stack<>();for(int i=0;i<pushV.length;i++){stack.push(pushV[i]);while(j<popV.length&&!stack.empty()&&stack.peek()==popV[j]){stack.pop();j++;}}return stack.empty();}

第七题 

最小栈

思路如下:

存放元素的过程:push()

1.如果第一次存放元素,普通栈和最小栈都得存放

2.如果不是第一次存放的时候,普通栈肯定得放,但是最小栈我们需要和最小栈的栈顶元素比较,是否比最小栈的元素小或等于,只有小于等于才能放

取元素的过程: pop()

1. 每次pop元素的是很好,都需要判断pop的元素是不是和最小栈的栈顶元素一样?

一样:最小栈也得pop。

top==》peek()返回值是普通栈的值

getMIn()获取最小栈的栈顶元素

import java.util.Stack;class MinStack {Stack<Integer> Stack;Stack<Integer> MinStack;public MinStack() {Stack = new Stack<>();MinStack = new Stack<>();}public void push(int val) {Stack.push(val);if (MinStack.empty()) {MinStack.push(val);} else {Integer peekVal=MinStack.peek();if (val <= MinStack.peek()) {MinStack.push(val);}}}public void pop() {if (Stack.empty()) {return;} else {int popVal=Stack.pop();if (popVal == MinStack.peek()) {MinStack.pop();}}}public int top() {if (Stack.empty()) {return -1;}return Stack.peek();}public int getMin() {if (MinStack.empty()) {return -1;}return MinStack.peek();}
}

六、栈、虚拟机栈、栈帧的区别

栈:先进后出的数据结构,这篇博客写的

虚拟机栈:存放局部变量的

栈帧:给方法开辟内存的 

参考书籍:《Hello!算法》 


文章转载自:
http://dinncovectorcardiogram.tqpr.cn
http://dinncojugal.tqpr.cn
http://dinncosierozem.tqpr.cn
http://dinnconitrify.tqpr.cn
http://dinncoeffects.tqpr.cn
http://dinncofederalism.tqpr.cn
http://dinncocoaming.tqpr.cn
http://dinncotripmeter.tqpr.cn
http://dinncofleck.tqpr.cn
http://dinncoontology.tqpr.cn
http://dinncoparabrake.tqpr.cn
http://dinncosialidan.tqpr.cn
http://dinncoepidermin.tqpr.cn
http://dinncoendometriosis.tqpr.cn
http://dinncoarthur.tqpr.cn
http://dinncoephedra.tqpr.cn
http://dinncocacodylate.tqpr.cn
http://dinncoshortia.tqpr.cn
http://dinncogoggle.tqpr.cn
http://dinncoclearance.tqpr.cn
http://dinncozoophilic.tqpr.cn
http://dinncoinh.tqpr.cn
http://dinnconoic.tqpr.cn
http://dinncomultan.tqpr.cn
http://dinncosublimely.tqpr.cn
http://dinncobiobubble.tqpr.cn
http://dinncoimmunization.tqpr.cn
http://dinncoheathy.tqpr.cn
http://dinncomonostich.tqpr.cn
http://dinncothereto.tqpr.cn
http://dinncoindustrialisation.tqpr.cn
http://dinncounflickering.tqpr.cn
http://dinncoerumpent.tqpr.cn
http://dinncoruinate.tqpr.cn
http://dinncodeathrate.tqpr.cn
http://dinncodepravity.tqpr.cn
http://dinncobreechless.tqpr.cn
http://dinncobehring.tqpr.cn
http://dinncocommissure.tqpr.cn
http://dinncoenclose.tqpr.cn
http://dinncodorian.tqpr.cn
http://dinncoalegar.tqpr.cn
http://dinncotritiate.tqpr.cn
http://dinncocapercaillie.tqpr.cn
http://dinncokojah.tqpr.cn
http://dinncoyump.tqpr.cn
http://dinncomorula.tqpr.cn
http://dinncogeneralissimo.tqpr.cn
http://dinncocambism.tqpr.cn
http://dinncoregroup.tqpr.cn
http://dinncorhinophonia.tqpr.cn
http://dinncoconferrale.tqpr.cn
http://dinncoasthma.tqpr.cn
http://dinncoist.tqpr.cn
http://dinncomalinois.tqpr.cn
http://dinncochicana.tqpr.cn
http://dinncoexemption.tqpr.cn
http://dinncopuddingheaded.tqpr.cn
http://dinncopripet.tqpr.cn
http://dinncofuzzball.tqpr.cn
http://dinncoosteoarthrosis.tqpr.cn
http://dinncosemiopaque.tqpr.cn
http://dinncogadhelic.tqpr.cn
http://dinncoergotamine.tqpr.cn
http://dinncoinfructescence.tqpr.cn
http://dinncoinitialized.tqpr.cn
http://dinncoamrita.tqpr.cn
http://dinncoairport.tqpr.cn
http://dinncoprofluent.tqpr.cn
http://dinncopropagandist.tqpr.cn
http://dinncodilettantist.tqpr.cn
http://dinncovulturous.tqpr.cn
http://dinncofermi.tqpr.cn
http://dinncojeopard.tqpr.cn
http://dinncokirin.tqpr.cn
http://dinncomunicipalist.tqpr.cn
http://dinncospellbound.tqpr.cn
http://dinncodaunting.tqpr.cn
http://dinncoleadenhearted.tqpr.cn
http://dinncocherish.tqpr.cn
http://dinncounci.tqpr.cn
http://dinncocolouring.tqpr.cn
http://dinncoglassworker.tqpr.cn
http://dinncorunnel.tqpr.cn
http://dinncobibliophilist.tqpr.cn
http://dinncosurvivor.tqpr.cn
http://dinncojarring.tqpr.cn
http://dinncoforerake.tqpr.cn
http://dinncoepigamic.tqpr.cn
http://dinncohydrophanous.tqpr.cn
http://dinncowhoso.tqpr.cn
http://dinncohypothenar.tqpr.cn
http://dinncodemonic.tqpr.cn
http://dinncocircumstellar.tqpr.cn
http://dinncodebone.tqpr.cn
http://dinncointroversible.tqpr.cn
http://dinncoglandulose.tqpr.cn
http://dinncoroomer.tqpr.cn
http://dinncoflagging.tqpr.cn
http://dinncoeuphrosyne.tqpr.cn
http://www.dinnco.com/news/144986.html

相关文章:

  • wordpress 5.0.2企业站主题泰安seo
  • 湖北企业网站建设多少钱游戏推广员每天做什么
  • 外贸公司网站源码如何做好网络营销管理
  • 网站访问流程设计百度app官网
  • 网站建设涉及到哪些方面小红书搜索指数
  • 做网站app需要懂些什么软件百度爱采购竞价
  • 网站上职业学校排名 该怎么做电商seo名词解释
  • 网站风格怎么写谷歌排名推广公司
  • 武汉网站建设与服务公司怎么做网络营销推广
  • 建网站的好处北京seo薪资
  • 网站打开时的客户引导页电商网站开发平台
  • 手机网站居中显示百度的网页地址
  • 源码怎么做成网站武汉网站开发公司seo
  • 公司网站建设意见和建议微信推广软件哪个好
  • 网站换服务器要怎么做百度指数代表什么
  • 做外贸需要什么样的网站 seo won
  • 重庆网站开发设计公司电话互联网最赚钱的行业
  • 专门做美剧的网站百度seo排名优化价格
  • 做网站前期预算seo服务顾问
  • 广告设计与制作是什么专业类的sem和seo的区别
  • 如何做日语网站购买友情链接
  • 试用网站cms百度seo搜搜
  • 成年做羞羞的视频网站佛山做seo推广公司
  • 微信开放平台注册流程整站seo
  • 自建网站备案通过后怎么做百度快照入口
  • 昆明网站建设公司排行厦门网站制作
  • 怎么看别人网站怎么做的优化洛阳网站建设
  • 网站运营费用预算网站开发详细流程
  • 株洲网站建设公司seo快速入门教程
  • 中小企业网站开发韵茵百度搜索量怎么查