int main()
{
int A[]={1 ,1, 1, 1, 3, 3, 3, 4, 5, 2, 6, 6, 6, 6, 6 };
int len =sizeof(A)/sizeof(int);
int ha[100]={0};
for(int i=0;i<len;i++)
{
ha[A[i]]++;
}
int i=0,j=0;
int a[100][2];
for(int i=0;i<100;i++)
{
if(ha[i]!=0)
{
a[j][0]=i;
a[j++][1]=ha[i];
}
}
int lena=j;
for(int i=0;i<lena-1;i++)//冒泡排序
{
for(int j=0;j<lena-1-i;j++)
{
if(a[j][1]<a[j+1][1])//
{
int t=a[j][1];
int d=a[j][0];
a[j][1]=a[j+1][1];
a[j][0]=a[j+1][0];
a[j+1][1]=t;
a[j+1][0]=d;
}
if(a[j][1]==a[j+1][1])//若相等
{
int d1=a[j][0];
int d2=a[j+1][0];
int k;
for(k=0;k<len&&(A[k]!=d1)&&(A[k]!=d2);k++)
{
int aaa=k;
}
int d=A[k];
if (d2==d)
{
int t=a[j][1];
int dd=a[j][0];
a[j][1]=a[j+1][1];
a[j][0]=a[j+1][0];
a[j+1][1]=t;
a[j+1][0]=dd;
}
}
}
}
for (int i=0;i<lena;i++)
{
int num=a[i][1];
for(int j=0;j<num;j++)
{
cout<<a[i][0]<<' ';
}
}
}