Trie un tableau en fonction des comptages d'occurrences dans l'ordre croissant

Comment puis-je organiser les éléments dans un tableau basé sur le nombre d'occurrences de la valeur dans l'ordre croissant en java.

C'est ce que j'ai essayé:

int a[]={0,0,0,1,3,3,2,1,3,5,6,0};
int b=a.length;
for(int i=0;i<b;i++) {
    for(int j=0;j<i;j++) {
        int temp;
        if( a[j]>a[i]) {
            temp=a[i];
            a[i]=a[j];
            a[j]=temp;
        }
    }
}

for(int r=0;r<a.length;r++) {
    System.out.println(a[r]);
}
Quel résultat voulez-vous? {0,0,0,0,1,1,2,3,3,3,5,6}?
À construire sur le commentaire précédent: voulez-vous trier le tableau?
ce n'"basée sur le nombre"? ascendant si longueur impaire, en descendant si même longueur ou quelque chose comme ça?
Sonne comme il veut de tri basé sur le nombre de fois que les clés sont présents. Le tableau donné deviendrait alors {2,5,6,1,1,3,3,3,0,0,0,0}, car 2,5,6 sont présents une fois 1 à deux fois...
Hmmm, mon hypothèse était qu'il voulait que la liste de tri basé sur le nombre d'occurrences de chaque nombre dans la table initiale, de sorte que la sortie désirée serait {2, 1, 1, 3, 3, 3, 0, 0, 0, 0}.

OriginalL'auteur bharathi | 2012-08-07