首页 > 其他分享 >Stack 容器

Stack 容器

时间:2023-01-16 21:55:06浏览次数:43  
标签:容器 String ... .... System stack Stack

Stack 容器介绍

Stack 栈容器,是 Vector 的一个子类,它实现了一个标准的后进先出(LIFO:Last In Frist Out)的栈。

Stack 特点是

后进先出。它通过 5 个操作方法对 Vector 进行扩展.

操作栈的方法

Stack 的使用

public class StackTest {
    public static void main(String[] args) {
        //实例化栈容器
        Stack < String > stack = new Stack < > ();
        //将元素添加到栈容器中
        stack.push("a");
        stack.push("b");
        stack.push("c");
        //判断栈容器是否为空
        System.out.println(stack.empty());
        //查看栈顶元素
        System.out.println(stack.peek());
        //返回元素在栈容器中的位置
        System.out.println(stack.search("c"));
        //获取栈容器中的元素
        String p1 = stack.pop();
        System.out.println(p1);
        String p2 = stack.pop();
        System.out.println(p2);
        String p3 = stack.pop();
        System.out.println(p3);
    }
}

Stack 的使用案例

判断元素的对称性
String str="...{.....[....(....)...]....}..(....)..[...]...";

//匹配符号的对称性
public void symmetry() {
    String str = "...{.....[....(....)...]....}..(....)..[...].(.).";
    //实例化 Stack
    Stack < String > stack = new Stack < > ();
    //假设修正法
    boolean flag = true; //假设是匹配的
    //拆分字符串获取字符
    for (int i = 0; i < str.length(); i++) {
        char c = str.charAt(i);
        if (c == '{') {
            stack.push("}");
        }
        if (c == '[') {
            stack.push("]");
        }
        if (c == '(') {
            stack.push(")");
        }
        //判断符号是否匹配
        if (c == '}' || c == ']' || c == ')') {
            if (stack.empty()) {
                //修正处理
                flag = false;
                break;
            }
            String x = stack.pop();
            if (x.charAt(0) != c) {
                //修正处理
                flag = false;
                break;
            }
        }
    }
    if (!stack.empty()) {
        //修正处理
        flag = false;
    }
    System.out.println(flag);
}

标签:容器,String,...,....,System,stack,Stack
From: https://www.cnblogs.com/nylgwn/p/17056397.html

相关文章

  • Docker-compose(容器编排)
    Compose是Docker公司推出的一个工具软件,可以管理多个Docker容器组成一个应用。你需要定义一个YAML格式的配置文件docker-compose.yml,写好多个容器之间的调用关系。......
  • mysql主从复制(基于docker容器化)
    拉取镜像不多说,直接从run开始,使用版本mysql5.71.新建主服务器容器实例3307dockerrun-p3307:3306--namemysql-master\-v/mydata/mysql-master/log:/var/log/m......
  • Docker容器数据卷
    Docker容器数据卷是什么?一句话:有点类似我们Redis里面的rdb和aof文件,就是将docker容器内的数据保存进宿主机的磁盘中。Docker容器数据卷能干什么?将运用与运行的环境......
  • docker容器服务archery迁移
    1.容器镜像迁移将Docker容器迁移到另外一台服务器上,最常用的方法是迁移容器关联到的镜像。对于必须迁移的容器,首先使用dockercommit命令将其保存为Docker镜像。docker......
  • docker容器部署archery
    1.下载archery安装包https://gitee.com/rtttte/Archery/tags2.安装archery建议在data盘解压安装包,因为会生成log日志等大文件,所以数据盘比较合适tar-zxvfArchery-v1......
  • 为什么要虚拟化,为什么要容器,为什么要Docker,为什么要K8S?
    前言如标题中的问题所提到的虚拟化,容器,Docker和K8s那样,我们不妨这样问:这些技术到底适用于哪些场景,有没有别的技术可以替代?这些技术的优劣在哪里?下面我将针对性地从以上几......
  • 十一、十二(安装红帽Linux、运行容器)
    十一、安装红帽Linux     十三、运行容器                                  ......
  • OpenStack命令行
    OpenStack命令行发放创建租户(项目)一个租户下面有很多个用户[root@controller~]#source keystonerc_admin#admin环境变量[root@controller~(keystone_admin)]#no......
  • 8.PyQt5【布局组件】容器布局-QGroupBox
    一、前言本节我们介绍布局组件中的容器布局QGroupBox。二、学习目标1.QGroupBox容器布局的应用三、知识点1.【QGroupBox容器布局的应用】容器布局将容器控件(Containe......
  • 手写一个简单的IOC容器
    手写一个简单的IOC容器说明首先我们都知道,Spring框架中两个最重要的组件就是IOC和AOP。IOC即inversionofcontrol控制反转。Aop即AspectOrientedProgramming面向切......