美文网首页
数据结构---数组栈

数据结构---数组栈

作者: 咚咚_Coding | 来源:发表于2022-02-17 17:40 被阅读0次

interface

public interface Stack<E> {
  int getSize();
  boolean isEmpty();
  void push(E e);
  E pop();
  E peek();
}

push、pop、peek

public int getCapacity(){
    return array.getCapacity();
}

@Override
public void push(E e){
    array.addLast(e);
}

@Override
public E pop(){
    return array.removeLast();
}

@Override
public E peek(){
    return array.getLast();
}

实践---> ()[]{}、([)]

   public boolean isValid(String s) {
    ArrayStack<Character> stack = new ArrayStack<>();
    for(int i = 0 ; i < s.length() ; i ++){
        char c = s.charAt(i);
        if(c == '(' || c == '[' || c == '{')
            stack.push(c);
        else{
            if(stack.isEmpty())
                return false;

            char topChar = stack.pop();
            if(c == ')' && topChar != '(')
                return false;
            if(c == ']' && topChar != '[')
                return false;
            if(c == '}' && topChar != '{')
                return false;
        }
    }
    return stack.isEmpty();
}
image.png

相关文章

  • 数据结构:数组

    00数据结构与算法分析:大纲01数据结构:数组02数据结构:链表03数据结构:栈03数据结构:队列 数组 数组是一...

  • 数据结构笔面试总结

    涉及的几个部分数据结构部分数组、栈、链表、队列、树、图 数组 数组是最简单、也是使用最广泛的数据结构。栈、队列等其...

  • Java算法和数据结构概述

    一、数据结构 1、常见数据结构:Array(数组)、Stack(栈)、Queue(队列)、LinkedList(链...

  • 3-玩转数据结构-栈和队列

    我们会介绍两个全新的线性数据结构,栈与队列。 栈Stack 栈也是一种线性结构;相比数组,栈对应的操作是数组的子集...

  • 数据结构学习

    栈 先进先出的数据结构 接口api 接口抽象定义 异常类定义 用数组实现栈 用数组实现栈,这种方法存取数据在没有扩...

  • 栈(C实现)

    1. 顺序栈 顺序栈的数据结构就是将一个数组的一端作为栈底,另一端为栈顶: 定义栈的数组; 设置栈的容量; 设置t...

  • JS栈方法和队列方法

    栈方法 ECMAScript 数组也提供了一种让数组的行为类似于其他数据结构的方法。具体说来,数组可以表现得就像栈...

  • 栈实现

    栈是先进先出数据结构。下面基于数组,实现栈结构。 Stack继承Vector elementData:Object...

  • 数据结构之栈 原理 栈是一种比较常见的数据结构,它的操作可以看做是数组的子集,因为栈只能从栈顶取元素和添加元素,并...

  • 数据结构与算法掌握这些就够了

    数据结构 线性结构数组、链表、栈、队列 非线性多维数组、树、图 1. 栈 后进先出,可以处理递归调用实际应用:字符...

网友评论

      本文标题:数据结构---数组栈

      本文链接:https://www.haomeiwen.com/subject/zbeslrtx.html