标签:
#include<vector>
#include<algorithm>
#include<iostream>
#define LENGTH 10
using namespace std;
void Unique(){
int array[LENGTH]={1,1,1,2,2,4,4,6,6,6};
int pre=array[0],cur=array[1];
int temp[LENGTH];
int k=0;
int i=1;//cur和i指向同步
while(i<=9){
if(pre!=cur){
temp[k++]=pre;
pre=cur;
if(i!=9) //数组的最后一个比较特殊,需要单独判断
cur=array[++i];
else
++i; //结束while循环
}else if(pre==cur){
pre=cur;
cur=array[++i];
}
}
temp[k]=array[i-1];//数组最后一种元素需要添加到结果集中
for(int i=0;i<=k;i++)
cout<<temp[i]<<" ";
}
int main(){
Unique();
return 0;
}#include<vector>
#include<algorithm>
#include<iostream>
using namespace std;
int Unique(int array[],int arrayLength){
int length=1; //去除重复元素后的数组长度
bool isExist=false; ////第一个元素肯定不重复,所以目标数组长度初始为1
for(int i=1;i<arrayLength;i++){
//将当前值与目标数组值一一比较,没有重复则加入目标数组
for(int j=0;j<length;j++){
if(array[i]==array[j]){
isExist=true;
}
}
if(!isExist){
array[length]=array[i];
length++;
}
isExist=false; //默认不存在重复
}
return length;
}
int main(){
int array[]={1,1,2,2,3,4,4,6,6,6};
int n=Unique(array,10);
for(int i=0;i<n;i++)
cout<<array[i]<<" ";
return 0;
}标签:
原文地址:http://blog.csdn.net/sxhlovehmm/article/details/44355275