各种基本抽象数据结构的实现

来源:互联网 发布:天下3冰心捏脸数据大赛 编辑:程序博客网 时间:2024/05/14 09:28

堆栈的简单实现:

import java.util.*;class Stack<E>{    private E[] elements;    private int size=0;    private static final int DEFAULT_INITIAL_CAPACITY=16;        //new E[]会产生编译错误,因为不能创建不可具体化的(non-reifiable)类型的数组    //于是,需要直接绕过创建泛型数组的禁令,创建一个Object数组,并将它转换成泛型数组类型    //再在确实可自己确保未受检的转换不会危及到程序的类型安全性的条件下,使用@SuppressWarnings("unchecked")来消除警告。    @SuppressWarnings("unchecked")    public Stack(){        elements=(E[])new Object[DEFAULT_INITIAL_CAPACITY];    }    public void push(E e){        ensureCapacity();        elements[size++]=e;    }    public E pop(){        if(size==0)            ;        E result=elements[--size];        elements[size]=null;        return result;    }    public boolean isEmpty(){        return size==0;    }    private void ensureCapacity(){        if(elements.length==size)            elements=Arrays.copyOf(elements,size*2+1);    }}


0 0
原创粉丝点击