首页 > 代码库 > 栈的数组实现
栈的数组实现
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; } }
栈的数组实现
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。