码迷,mamicode.com
首页 > 编程语言 > 详细

Java的数据结构

时间:2017-09-15 01:51:46      阅读:248      评论:0      收藏:0      [点我收藏+]

标签:color   main   while   stack   auth   数据集   删除元素   []   表达式   

1.背包

PS:不支持删除元素的数据集合;他的目的就是帮组收集元素和遍历元素。

2.迪杰斯特拉双栈算数表达式

import java.util.*;
 /**
  * 每个式子必须加上括号,效果不好
  * (2+6*(2+2))
  * @author bee
  *
  */
public class Main{
 
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while(sc.hasNext()){
            Stack<String> ops = new Stack<>();
            Stack<Double> vals = new Stack<>();
            String str = sc.nextLine();
            for(int i=0;i<str.length();i++){
                String s = str.charAt(i)+"";
                if(s.equals("(")){
                    
                }else if(s.equals("+")){
                    ops.push(s);
                }else if(s.equals("-")){
                    ops.push(s);
                }else if(s.equals("*")){
                    ops.push(s);
                }else if(s.equals("/")){
                    ops.push(s);
                }else if(s.equals(")")){//弹出运算符和操作数,计算结果压入栈
                    String op = ops.pop();
                    Double v = vals.pop();
                    if(op.equals("+")){
                        v = vals.pop()+v;
                    }else if(op.equals("-")){
                        v = vals.pop()-v;
                    }else if(op.equals("*")){
                        v = vals.pop()*v;
                    }else if(op.equals("/")){
                        v = vals.pop()/v;
                    }
                    vals.push(v);
                }else{//非运算符和非括号,直接double压入栈中
                    vals.push(Double.parseDouble(s));
                }
            }
            
            System.out.println(vals.pop());
        }
        sc.close();
    }
     
  
}

3.java数据结构

技术分享

技术分享

 

Java的数据结构

标签:color   main   while   stack   auth   数据集   删除元素   []   表达式   

原文地址:http://www.cnblogs.com/bee-home/p/7523665.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!