publicvoiddelete(inta)throwsException{for(inti=a;i
public void delete(int a)throws Exception
{
for(int i=a;i
{
listelem[i]=listelem[i+1];
}
curlen--;
}
public void delsame()throws Exception
{
for(int i=0;i
{
for(int j=i+1;j<=curlen;j++)
{
if(listelem[i].equals(listelem[j]))
delete(j);
}
System.out.print(listelem[i]+" ");
}
}
这是我的两个方法,用来删除顺序表中重复的元素,但有问题,比如:a,b,b,b,b,b,c,删除重复元素,还会有重复的,就是当删除第一个重复的b时,后面的相同元素又向前移动了一位,但此时delsame()已经i++,自动跳过其中一个重复的元素。
我也不知道我说得明不明白,就是想知道怎样解决这个问题。使程序能够删除重复的元素
注意:(delete()方法不能改,只能改delsame()方法)
展开