版权声明:版权归属tangobravo所有 https://blog.csdn.net/tangobravo/article/details/85845418
删除一个数组中重复的元素。例如 1 ,2, 2,2,3,3,3,4,4,5,5,5,6,6,6 -> 1,2,3,4,5,6
#include <stdio.h>
#include <stdlib.h>
#define MAX 100
//首先考虑有序数组
int Delete_Dup(int *R, int iLen)
{
int i = 1;
int index = 0;
if (R[0] == 0)
return index;
else
{
index = 1;
}
while (i<iLen)
{
if (R[i] != R[i - 1])
{
R[index++] = R[i];
}
++i;
}
return index;
}
int main()
{
int R[11] = { 1,2,2,2,3,3,4,4,4,5,5 };
int iLen1 = Delete_Dup(R, 11);
for (int i = 0; i < iLen1; ++i)
/*for (int i = 0; i < Delete_Dup(R, 11); ++i),每次循环都会删除重复元素,最终会将数组
打印为1234534545,前后都不会重复,一般可以在循环条件中写函数,但也要视情况而定*/
{
printf("%d ", R[i]);
}
printf("\n");
system("pause");
}