zoukankan      html  css  js  c++  java
  • Java的数据结构

    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数据结构

  • 相关阅读:
    C++对象模型
    C/C++内存结构
    第一篇
    Goodbye Steve(19552011)
    DirectX学习笔记_关于Sprite.Draw2D的说明
    Goodbye World!
    js把一个数组的数据平均到几个数组里面
    Django model字段类型清单
    Golang中间件——goredis操作Redis
    Python开发一个短网址生成器
  • 原文地址:https://www.cnblogs.com/bee-home/p/7523665.html
Copyright © 2011-2022 走看看