标签:
#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