
如何把一维数组里面相同的元素删除掉
1个回答
展开全部
利用双重循环,将每个值依次与其后面的值相比较,如果有相同的则删除该元素即可。
删除时,可以使用将后面元素依次向前移动一位,同时总长度减一的方式。
参考代码如下:
int remove_repeat(int *a, int l)
{
int i, j, k;
for(i = 0; i < l; i ++)
{
for(j = i+1; j <l; j ++)//对后面每个元素比较,去重。
{
if(a[j] == a[i])//发现重复元素。
{
for(k = j+1; k<l; k ++)//依次前移一位。
a[k-1] = a[k];
l--;//总长度减一。
}
}
}
return l;//返回新的长度值。
}
删除时,可以使用将后面元素依次向前移动一位,同时总长度减一的方式。
参考代码如下:
int remove_repeat(int *a, int l)
{
int i, j, k;
for(i = 0; i < l; i ++)
{
for(j = i+1; j <l; j ++)//对后面每个元素比较,去重。
{
if(a[j] == a[i])//发现重复元素。
{
for(k = j+1; k<l; k ++)//依次前移一位。
a[k-1] = a[k];
l--;//总长度减一。
}
}
}
return l;//返回新的长度值。
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询