190104作业-删除一个数组中重复的元素

版权声明:版权归属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");
}

猜你喜欢

转载自blog.csdn.net/tangobravo/article/details/85845418