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

wordpress建站的好处襄阳seo推广

wordpress建站的好处,襄阳seo推广,做网站公司不给源码,安亭做网站公司一、栈Stack 1.1 概念 一种特殊的线性表#xff0c;只允许在固定的一段进行插入和删除元素操作。进行数据的插入和删除操作的一段称为栈顶#xff0c;另一端称为栈低。栈中的元素遵循后进先出 LIFO(Last In First Out)的原则。 进栈 出栈 举例#xff1a;在word中#xf…一、栈Stack 1.1 概念 一种特殊的线性表只允许在固定的一段进行插入和删除元素操作。进行数据的插入和删除操作的一段称为栈顶另一端称为栈低。栈中的元素遵循后进先出 LIFO(Last In First Out)的原则。 进栈 出栈 举例在word中如果要想进行添加、删除。修改相关信息则当用户选择撤销时程序将会返回上一个操作状态。 1.2 栈的使用 栈的方法及其功能 方法 功能Stack()构造一个空栈E push(E e)将e入栈并返回eE pop()将栈顶元素出栈并返回E peek()获取栈顶元素int size()获取栈中有效元素个数boolean empty()检测栈是否为空 public static void main(String[] args) {StackInteger 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 栈顶元素为3if(s.empty()){System.out.println(栈空);}else{System.out.println(s.size());} } 1.3 模拟实现栈 Stack继承了VectorVector和ArrayList类似都是动态的顺序表不同的是Vector是线程安全的. public class MyStack {public int[] elem;public int usedSize;public MyStack() {this.elem new int[10];}public void push(int val) {if(isFull()) {this.elem Arrays.copyOf(elem,2*elem.length);}elem[usedSize] val;}private boolean isFull() {return usedSize elem.length;}public int pop() {if(isEmpty()) {throw new EmptyStackException(pop()空栈异常);}int val elem[usedSize - 1];usedSize--;return val;}public int peek() {if(isEmpty()) {throw new EmptyStackException(peek()空栈异常);}return elem[usedSize - 1];}private boolean isEmpty() {return usedSize 0;} } 1.4 栈的应用场景 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 解析错误出栈序列的解析如下正确出栈序列解析同下 2.一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次入栈然后再依次出栈则元素出栈的顺序是 。 A: 12345ABCDE     B: EDCBA54321      C: ABCDE12345      D: 54321EDCBA 解析根据栈中元素遵循先进后出的原则得出栈顺序为EDCBA54321 2. 将递归转化为循环链表 // 递归方式 void printList(Node head){if(null ! head){printList(head.next);System.out.print(head.val );} } // 循环方式 void printList(Node head){if(null head){return;}StackNode s new Stack();// 将链表中的结点保存在栈中Node cur head;while(null ! cur){s.push(cur);cur cur.next;}// 将栈中的元素出栈while(!s.empty()){System.out.print(s.pop().val );} } 3. 括号匹配 首先判断获取的字符是否是左括号如果是则插入到栈中如果栈为空则返回false如果前两种情况都不是则此时为右括号然后判断栈顶元素和当前字符进行匹配若满足条件则删除栈顶元素否则返回false。最后当字符串遍历完后如果栈中还有元素则此时左括号多返回false。如果栈为空则返回true。 class Solution {public boolean isValid(String s) {//创建一个空栈StackCharacter stack new Stack();for(int i 0;i s.length();i) {//遍历字符串获取字符char ch s.charAt(i);//如果ch为左括号则放入栈中if(ch ( || ch [ || ch { ) {stack.push(ch);}else {//此时ch为右括号//情况1栈中没有左括号进行匹配右括号多if(stack.isEmpty()){return false;}//情况2栈中右左括号需判断栈顶ch2右括号是否和ch右括号匹配char ch2 stack.peek();if( ch2 ( ch ) || ch2 [ ch ] || ch2 { ch } ) {stack.pop();}else {//此时栈不为空但括号不匹配return false;}}}//字符串已经遍历完了若栈不为空则左括号多if(!stack.isEmpty()) {return false;}return true;} } 4. 逆波兰表达式 class Solution {public int evalRPN(String[] tokens) {StackInteger stack new Stack();for(String str : tokens) {if(isNumber(str)) {int x Integer.parseInt(str);stack.push(x);}else {int val2 stack.pop();int val1 stack.pop();switch (str) {case :stack.push(val1 val2);break;case -:stack.push(val1 - val2);break;case *:stack.push(val1 * val2);break;case /:stack.push(val1 / val2);break;}}}return stack.pop();}private boolean isNumber(String str) {return !(str.equals()|| str.equals(- )|| str.equals(*)|| str.equals(/));} }5. 出栈入栈次序匹配 解析遍历pushV数组每次入栈一个元素后将栈顶元素与popV中下标为j所对应的元素进行比较如果一样则可以出栈不一样i。在遍历时可能会出现多个相同所以需用到循环 public class Solution {/*** 代码中的类名、方法名、参数名已经指定请勿修改直接返回方法规定的值即可** * param pushV int整型一维数组 * param popV int整型一维数组 * return bool布尔型*/public boolean IsPopOrder (int[] pushV, int[] popV) {// write code hereStackInteger stack new Stack();int j 0;for(int i 0;i pushV.length;i) {stack.push(pushV[i]);while(!stack.empty() j popV.length stack.peek() popV[j]) {stack.pop();j;}}return stack.empty();} } 6.最小栈 class MinStack {public StackInteger stack;public StackInteger minStack;public MinStack() {stack new Stack();minStack new Stack();}public void push(int val) {stack.push(val);if(minStack.isEmpty() || val minStack.peek()) {minStack.push(val);}else {return;}}public void pop() {if(minStack.isEmpty()) {return;}int popVal stack.pop();if(popVal minStack.peek()) {minStack.pop();}}public int top() {if(minStack.isEmpty()) {return -1;}return stack.peek();}public int getMin() {if(minStack.isEmpty()) {return -1;}return minStack.peek();} }
http://www.hkea.cn/news/14427682/

相关文章:

  • php做的大型网站有哪些化工销售怎么做网站
  • 兼职 网站建设网站做系统叫什么名字
  • 丹东手机网站建站语言
  • 网站建设管理的规章制度上海做网站的企业
  • 深圳外包网站公司wordpress全站音乐
  • 免费建设网站领地品质好的深圳装修
  • 平台制作网站公司哪家好学校网站建设审批
  • 蓝田微网站建设wordpress模块管理系统
  • 深圳市建设局网站张局网站策划书总结
  • 个人建网站步骤京东网站建设设计框架图
  • 唐河永琚建筑公司网站网站建设的优缺点
  • 网站名字大全校园资源共享网站建设
  • 网站域名申请之后如何做网站企业管理培训课程目录
  • 成交型网站倡导公司网络营销策划书300字
  • 企业网站的价值体现是在南京哪家网络公司做网站优化好
  • 网站如何做微信支付宝支付宝支付接口建设公司logo图片大全
  • 怎么备份网站模板做网站跟网站设计的区别
  • 网站制作的目的品牌建设经验做法
  • 网站编辑 教程电子商务网站设计与实现
  • 企业的网站做一个要多少北京网站营销与推广
  • 网站还在建设就已经可以访问了_影响后期百度微信团购群网站怎样做
  • 58同城东莞招聘网站物理结构优化包含网页优化吗
  • 犀浦网站建设商城网站开发设计
  • 注册一个网站的流程广州企业网站制作
  • 网页设计制作与网站建设课程平台设计思路怎么写
  • 校园网站制作淘宝网站详情页怎么做
  • 外贸网站电子建设高州网站建设公司
  • 集团网站建设特色输入网址跳到别的网站
  • 随州制作网站想学营销策划去哪里学
  • 宁波网络建站模板会计专业的简历制作