目录
功能:
删除数组中重复元素,如{ 3 ,3, 3, 3, 5, 5 ,5 ,5, 7, 7, 7, 7, 1, 1, 1, 1 }变成{3,5,7,1}
时间复杂度O(n)
代码:
#include <iostream>
using namespace std;
#define GET_ARRAY_LEN(array,len) {len = (sizeof(array) / sizeof(array[0]));}
int main()
{
int length,i=0;
int j = 0;
int k = 0;
int m = 0;
int a[] = { 3 ,3, 3, 3, 5, 5, 5 ,5 ,5, 7, 7, 7, 7, 7, 1, 1, 1, 1 };
int b[10];
GET_ARRAY_LEN(a,length);
//cout << length << endl;
while (j<=length)
{
b[0] = a[0];
if (a[i] == a[j])
{
j++;
}
else
{
++k;
b[k] = a[j];
i = j;
}
}
for (m = 0; m < k; m++)
{
cout << b[m] << endl;
}
}