顺序表定义如下:public class SqList<E> {
private final int MAXSIZE = 24;
private int len;
private E[] data;
public SqList(){
data = (E[])new Object[MAXSIZE];
len = 0;
}
}
请根据提示,补全顺序表中第idx(idx从1开始计数)个元素前插入一个新元素的算法。
/**
* 在第idx个元素之前插入元素e
* @param e 待插入元素
* @param idx 插入位置,在第idx个元素之前,从1开始计数
* @return 操作成功返回true,失败返回false
*/
public boolean insert(E e, int idx) {
//判断顺序表是否为满
if (①__________)
return false;
//判断插入位置是否正确
if (idx < 1 || idx > len + 1)
return false;
//移动插入位置之后的元素,从最后一个元素开始移到
for (int i = len-1; i >= idx-1; i--) {
②__________;
}
//放入新元素
③__________;
//表长自增
④__________;
return true;
}