线性表|大学数据结构之顺序表的实现(Java版本)

【线性表|大学数据结构之顺序表的实现(Java版本)】相信大家在大学学习数据结构的时候大学的教材大多数是采用C语言版本实现的吧!那么大家有没有考虑过如何用Java语言来实现这些数据结构呢?关注我,我将持续把所有的数据结构都用Java重新写一遍,希望能对想学好的同学们有所帮助!
有疑问的可以留言或者私信,看到了就会一一解答的。

package sequenceList; import java.util.Iterator; public class SequenceList implements Iterable{//iterate :重复,反复 //存储元素的数组 private T[] eles; //记录当前顺序表中元素的个数 private int N; //构造方法 public SequenceList(int capacity){ //初始化数组 this.eles=(T[])new Object[capacity]; //new一个object类型的数组然后强转成T类型数组 //初始化长度 this.N=0; } //将线性表置为空表 public void clear(){ this.N=0; } //判断当前线性表是否为空表 public boolean isEmpty(){return N==0; } //获取线性表的长度 public int length(){return N; } //获取指定位置的元素 public T get(int i){return eles[i]; } //向线性表中添加元素t public void insert(T t){ if(N==eles.length){//如果元素个数等于数组长度,就代表无法添加元素,需要扩容 resize(eles.length*2); } eles[N++]=t; //每添加一个元素,N(线性表长度)的值会自增一个 } //在i处插入元素t public void insert(int i,T t){ if(N==eles.length){//如果元素个数等于数组长度,就代表无法添加元素,需要扩容 resize(eles.length*2); } //先把i索引处极其后面的元素依次向后移动一位 for(int index=N; index>i; index--){ eles[index]=eles[index-1]; } //再把t元素放到i索引处即可 eles[i]=t; //元素个数+1 N++; } //删除指定索引i处的值,并返回该元素 public T remove(int i){ //记录索引i处的值 T current=eles[i]; //索引i后面的元素依次向前移动一位即可 for(int index=i; index iterator() { // TODO Auto-generated method stub return new SIterator(); //返回内部类对象 } private class SIterator implements Iterator{ private int cusor; //eles的指针 publicSIterator() { // TODO Auto-generated constructor stub this.cusor=0; } @Override public boolean hasNext() {//判断当前容器中还有没有下一个元素 // TODO Auto-generated method stub return cusor

    推荐阅读