一、插入不重复元素.查找不成功时尾插入
思考:"? :"为右结合
public int insertDifferent(T x) //插入不重复元素。查找不成功时,尾插入
{
return this.search(x)==-1 ? this.insert(x) : -1;
}
二、删除首个与key相等元素,返回被删除元素;查找不成功返回null
思考:结合顺序查找元素和删除元素的方法
public int search(T key){
//顺序查找首次出现的与key相等元素,返回元素序号i,0≤i<n;查找不成功返回-1。若key==null,Java抛出空对象异常NullPointerException
for (int i=0; i<this.n; i++)
{
if (key.equals(this.element[i])) //运行时多态
return i;
}
return -1; //空表或未找到时
} //不能用逐元循环,因为会无法返回i
public T remove(T key) { //删除首个与key相等元素,返回被删除元素;查找不成功返回null
return this.remove(this.search(key)); //先查找,再调用remove(i)。若查找不成功,返回-1,则不删除
}