c++ 删除整形数组中重复的数字

来源:互联网 发布:于谦 知乎 编辑:程序博客网 时间:2024/05/16 12:38
int *RemoveDup(int arr[], int n){int *tmp = NULL;int *arr_new = NULL;arr_new = (int *)malloc(n*sizeof(int));tmp = arr_new;set<int> s;pair<set<int>::iterator, bool> p;//list<int> l; 用list也可以保存int k = 0;for (int i=0;i<n;i++){p=s.insert(arr[i]);if (p.second){//l.push_back(arr[i]);*tmp = arr[i];k++;tmp++;}}*tmp='\0';return arr_new;}int _tmain(int argc, _TCHAR* argv[]){int arr[12]={11,12,13,14,15,16,17,18,19,17,18,20};int *res = NULL;res = RemoveDup(arr,12);while(*res){printf("%d\n",*res);res++;}system("pause");return 0;}

0 0