在最后一个有效元素后插入一个数据,
当然,在此之前需要判断顺序表有没有满,如果满了需要先扩容再插入。
判断顺序表满没满很简单,就看他的有效元素个数是否与数组长度相等,如果相等就代表顺序表满了。
顺序表的“指针”是指向最后一个元素的后一个空间
public class SeqList {public int[] elem;public int size;}public class SeqList {public int[] elem;//数据域引用public int size;//有效元素个数//初始化顺序表public void initSeqList(){this.elem = new int[10];}//每次使用新的顺序表还需要自己构造对象调用初始化方法,太麻烦了,我们让顺序表在执行构造方法阶段就完成顺序表的初始化。public SeqList() {this.initSeqList();}//判断顺序表是否满public boolean isFull() {return this.size == this.elem.length;}//2.3顺序插入元素public void seqAdd(int value) {if (this.elem == null) {this.initSeqList();}if (this.isFull()) {this.elem = Arrays.copyOf(this.elem, 2 * this.elem.length);//扩容}this.elem[this.size] = value;this.size++;}//2.4指定位置插入数据// 在 pos 位置新增元素public void add(int pos, int data) {if (this.elem == null) {this.initSeqList();}if (pos < 0 || pos > this.size) {System.out.println("插入位置非法!");return;}if (isFull()) {this.elem = Arrays.copyOf(this.elem, 2 * this.elem.length);}for (int i = size - 1; i >= pos; i--) {this.elem[i+1] = this.elem[i];}this.elem[pos] = data;this.size++;}}
