c语言数组删除相同元素,C++删除数组元素
算法思路:首先我们要比较数组中的第一个元素(第二个元素开始比较,第三个元素开始比较.)与每个后续数(两层循环,第一次循环确定要比较的数,第二次循环确定要与每个后续数比较的数)。然后,如果在比较的过程中两个数相等,我们就把这两个相同的数的后面的数依次前移(第一个直到第一个数和所有的数比较完,第一个循环的第一个循环结束,然后开始第二个和第三个循环.直到第一个周期结束。
代码显示:
#包括iostream
使用命名空间std
#定义N 6
无效测试(){
int num[N]={ 1,2,2,3,2,5 };
int n=N
for(int I=0;I n-1;I) {//第一层循环
for(int j=I 1;j n-1;J) {//第二层循环
if (num[i]==num[j]) {
for(int x=j;x n-1;X) {//第三层循环
num[x]=num[x 1];
}
n-;//总计-1
j-;//这里J需要-1:这里是第二级循环中的一个J,如果不是-1,就会导致与原数组第J位的比较,漏了一个数。
}
}
}
for(int I=0;i i ) {
cout num[I] \ t ;
}
cout endl endl
}
int main() {
test();
系统(“暂停”);
返回0;
}
来自,其花是故意掉的,无情流,转载请联系作者获得转载授权,否则将追究法律责任。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。