• 栈的数组实现


    1.首先定义了栈需要实现的接口

    public interface Mystack<T> {
        
        boolean isempty();
        
       void clear();
       
       int length();
       //入栈
       boolean push(T data);
       //出栈
       T pop();
    }

    2.栈的数组实现

    package suanfa;
    
    public class MyArrayStack<T> implements Mystack<T> {
    
        private Object [] obs=new Object[16];
        private int size=0;
        
        
        @Override
        public boolean isempty() {
            // TODO Auto-generated method stub
            return size==0;
        }
    
        @Override
        public void clear() {
            // TODO Auto-generated method stub
            for (int i=0;i<obs.length;i++){
                
                obs[i]=null;
            }
            
            size=0;
        }
    
        @Override
        public int length() {
            // TODO Auto-generated method stub
            return size;
        }
    
        @Override
        public boolean push(T data) {
            // TODO Auto-generated method stub
        //    return false;
            
            if(size>=obs.length){
                resize();
                
            }
            obs[size++]=data;
            
            return true;
            
        }
    
        @Override
        public T pop() {
            // TODO Auto-generated method stub

          if(size==0){
           return null;
           }
         return (T) obs[--size];

    
        }
        
        
        private void resize(){
            
            Object [] tmp=new Object[obs.length*3/2+1];
            
            for(int i=0;i<obs.length;i++){
                tmp[i]=obs[i];
                obs[i]=null;
                
            }
            
            obs=tmp;
            
        }
    
    }
  • 相关阅读:
    设计模式的七大原则(Java)
    多线程学习
    力扣题解-1385.两个数组间的距离值
    java集合框架俯瞰
    类加载和双亲委派机制
    关于String
    Object类源码注释
    pom文件标签-仅做手册使用
    effective Java 系列笔记1
    postgres in查询优化
  • 原文地址:https://www.cnblogs.com/luo-mao/p/6050236.html
Copyright © 2020-2023  润新知