我的擦除重复代码有什么问题

  • 本文关键字:问题 代码 擦除 c++
  • 更新时间 :
  • 英文 :


我只是尝试制作一个代码来删除数组中的重复数字,但是我无法在删除数字后缩小数组大小。这是我的代码:

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;
        }
    }
}

最新更新