作业帮 > 综合 > 作业

c++怎么删除有序数列中的重复数字(要能删除3个重复中的两个)

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/24 01:52:31
c++怎么删除有序数列中的重复数字(要能删除3个重复中的两个)
我个人建议你使用STL中的merge函数进行数列的合并,它会自动帮你删除重复的数字,或者你也使用容器.如果你要自己写一个删除重复数字的函数的话,可以参考下面我写的这段代码:
int* merge(int* array,int numArray)//第一个参数是数组,第二个参数是数组长度
{
int count = 0;
for(int i = 0; i < numArray; ++i)
{
for(int j = i; j < numArray; ++j)
{
if(array[i] == array[j])
{
array[j] = array[0];
++count;
}
}
}
int newLength = numArray = count;
int* newArray = new int[newLength];
newArray[0] = array[0];
for(int i = 1 int j = 1; i < numArray- 1; ++i)
{
if( array[i] != array[0])
{
newArray[j] = array[i];
++j;
}
}
return newArray;
}