我只是尝试制作一个代码来删除数组中的重复数字,但是我无法在删除数字后缩小数组大小。这是我的代码:
for (i=0;i!=n;i++)
{
for (j=i+1; j!=n; j++)
{
if(arr[i]==arr[j])
{
while(j!=n-1)
{
arr[j]=arr[j+1];
j++;
}
n--;
}
}
}
这不是崩溃,但也没有运行,所以我不知道怎么了。
您应该使用另一个var将下一元素移至其上述位置。删除后,您应该开始从同一J位置进行搜索。
for (i=0;i!=n;i++)
{
for (j=i+1; j!=n; j++)
{
if(arr[i]==arr[j])
{
int k = j;
while(k != n-1)
{
arr[k]=arr[k+1];
k++;
}
n--;
--j;
}
}
}