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

遵义市建设局网站官网搜索引擎优化的基本手段

遵义市建设局网站官网,搜索引擎优化的基本手段,郑州软件开发外包,千博政府网站管理系统题目描述:编写一段程序,从标准输入得到一个缺少左括号的表达式,并打印出补全括号之后的中序表达式。列如 12 ) * 3 - 4 ) * 5 - 6 ) ) ) 你的程序应该输出 ( ( 1 2 ) * ( ( 3 - 4 )* ( 5 - 6) ) ) 刚开始看到这个习题感觉这反扩号可以随便补没…

  题目描述:编写一段程序,从标准输入得到一个缺少左括号的表达式,并打印出补全括号之后的中序表达式。列如 1+2 ) * 3 - 4 ) * 5 - 6 ) ) )

你的程序应该输出 ( ( 1 +2 ) * ( ( 3 - 4 )* ( 5 - 6) ) )

  刚开始看到这个习题感觉这反扩号可以随便补没有限制啊,但按要求输出给的样例那种肯定是利用前面学过的知识,唯一有关系的就是求算术表达式的值了,

  求算术表达式步骤很简单,首先初始化两个栈,一个运算符,一个存操作数

  碰到数字压入操作数栈,

  碰到运算发压入运算符栈,

  碰到( 忽略,

  碰到 ) 弹出运算符,弹出运算符所需要的操作数(一般两个),将操作数和运算符计算出的结果压入操作数栈。

  根据上面方法,只需要把最后一步改下碰到)弹出运算符,弹出运算符所需操作数将 "("+"操作数"+"运算符"+"操作数"+")"这个字符串压入操作数栈里(可以把操作数栈用String),最后弹出操作数栈就ok。

  

 1 public static String bracket(String s){
 2         Stack<String> o=new Stack<String>();//运算符
 3         Stack<String> v=new Stack<String>();//操作数
 4         char[] c=s.toCharArray();
 5         for(int i=0;i<c.length;i++){
 6             s=c[i]+"";
 7             if("+".equals(s)||"-".equals(s)||"*".equals(s)||"/".equals(s)){
 8                 o.push(s);
 9             }else if(")".equals(s)){
10                 String a=v.pop();
11                 String b=v.pop();
12                 s="("+b+o.pop()+a+")";//这里注意a和b的顺序
13                 v.push(s);
14             }else if("(".equals(s)){
15                 //不管,主要是后面懒得写判断数字。。。
16             }else{
17                 v.push(s);
18             }
19         }
20         return v.pop();
21     }

测试

System.out.println(bracket("1+2)*3-4)*5-6)))"));

结果:

((1+2)*((3-4)*(5-6)))

 哦,这里的Stack用的是自己写的类

package gh;import java.util.Iterator;/*** 链表实现下压栈* @author ganhang* @param <T>*/
public class Stack<T> implements Iterable<T>{private Node first;//栈里的元素private int n;//栈大小private class Node{T item;Node next;}public void push(T item){//向栈顶添加元素(节点)Node oldfirst =first;first=new Node();first.item=item;first.next=oldfirst;n++;}//返回最近添加的元素,不删除public T peek(){T item=first.item;return item;}//删除最近添加的元素public T pop(){//删除头节点T item=first.item;first=first.next;n--;return item;}public boolean isEmpty(){return n==0;}public int size(){return n;}@Overridepublic Iterator<T> iterator() {// TODO Auto-generated method stubreturn new StackIterator();}private class StackIterator implements Iterator<T>{private Node current=first;@Overridepublic boolean hasNext() {// TODO Auto-generated method stubreturn n!=0;}@Overridepublic T next() {// TODO Auto-generated method stubT item=current.item;current=current.next;return item;}@Overridepublic void remove() {// TODO Auto-generated method stub
            }}
}

 

转载于:https://www.cnblogs.com/ganhang-acm/p/5357239.html

http://www.lbrq.cn/news/2398735.html

相关文章:

  • 台州网站建设费用网络平台的推广方法
  • 企业网站建设的层次怎么用模板做网站
  • 建立微信商城网站互动营销案例都有哪些
  • xp系统做网站服务器2022年近期重大新闻事件
  • 深圳做网站的公司 cheungdom网页设计框架
  • 爱做的小说网站南京seo推广公司
  • 怎么做网站卡盟seo用什么工具
  • 建设部网站八大员查询seo优化快排
  • 网站建设和管理制度seo优化器
  • 模板建站系统宁波网络推广方式
  • 网站后台费用北京seo诊断
  • 女人做一级a网站免费郑州seo外包v1
  • ppt模板背景图女装标题优化关键词
  • 那里做一元云购网站交换链接平台
  • 网站开发维护合同书seo关键词推广多少钱
  • 团购网站开发代码抚州网络推广
  • 拿自己爱人做网站如何对网站进行推广
  • 斐讯k2做网站网络优化器
  • 芜湖龙湖建设工程有限公司网站论坛seo招聘
  • 在网站写小说怎么做封面免费收录网站提交
  • 如何做影视网站百度seo文章
  • 王烨铭seo 优化教程
  • 帮客户做网站 没签合同咋办昆明网络营销
  • 门户网站开发需要seo专员是干嘛的
  • 网站建设最基础是什么推一手新闻发稿平台
  • 我司如何自己建设动态网站网站性能优化
  • 营销型网站建设需要懂什么软件域名查询站长之家
  • 余姚网站建设哪家好关键词工具
  • 网站建设的本科毕业论文建一个企业网站多少钱
  • 如何进入网站后台管理网站合肥建站公司seo
  • 网络包从客户端发出到服务端接收的过程
  • 小明记账簿焕新记:从单色到多彩的主题进化之路
  • 【Linux】基本指令详解(三) 指令本质、三个查找指令、打包压缩、重要热键、linux体系结构、命令行解释器
  • Java 大视界 -- Java 大数据机器学习模型在自然语言处理中的对话系统多轮交互优化与用户体验提升(351)
  • Spring中的设计模式
  • 大模型格式