public void noDups()
{
long temp;int t;
for(t=0;t<elems;t++)
{
temp=a[t];//存在的数
while(t<elems && temp==a[t])
{
a[t]=a[t+1];
}
}
}
这段方法的作用是用来删除重复的值,若发现有重复的值则把后边的元素往前移动一个位置。怎么不出现结果呢,
{
long temp;int t;
for(t=0;t<elems;t++)
{
temp=a[t];//存在的数
while(t<elems && temp==a[t])
{
a[t]=a[t+1];
}
}
}
这段方法的作用是用来删除重复的值,若发现有重复的值则把后边的元素往前移动一个位置。怎么不出现结果呢,
public void noDups()
{
long temp;int t;
for(t=0;t <elems;t++)
{
temp=a[t];//存在的数
while(t <elems && temp==a[t+1])
{
a[t]=a[t+1];
}
}
} 看红色部分
上面还是有点问题,大意了,应该是
public void noDups()
{
long temp;int t;
for(t=0;t <elems;t++)
{
temp=a[t];//存在的数
while(t+1 <elems && temp==a[t+1])
{
a[t]=a[t+1];
}
}
}
怎么会有结果??