数组排序去重算法
#include<iostream> using namespace std; int x=0; int *m_out(int *a,int b) { int m_c=0,m_cc=0; m_c=b; for(int i=0;i<=m_c-2;i++) { for(int j=i+1;j<=m_c-1;j++) { int m=0; if(*(a+i)>*(a+j)) {} else { m=*(a+i); *(a+i)=*(a+j); *(a+j)=m; } } } //先排序,然后剔除重复点 m_cc=m_c; for(i=0;i<=m_c;i++) if (*(a+i)==*(a+i+1)) {m_cc--;} else{} int *p=new int[m_cc+1]; for(i=0;i<=m_c;i++) { if (*(a+i)==*(a+i+1)) {} else { x++; *(p+x)=*(a+i); } } *p=m_cc; return p; } int main() {int size1=0; int a[8]={3,5,8,2,10,8,20,2}; size1=sizeof(a)/sizeof(a[0]); int *c=new int []; c=m_out(a,size1); size1=*c; //size1=sizeof(c); for (int d=1;d<=size1;d++) { cout<<*(c+d)<<endl; } // {3,5,8,2,10,8,20,2}; // for(i=0;a[i]!=0&&i<=7;i++) // cout<<a[i]<<endl; }
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇:没有了
- 下一篇:没有了