Organiser 0 & amp; 1 dans un tableau

C'est une question d'entrevue que j'ai eue récemment. Je voudrais connaître les autres, de la perception de l'approche de ce problème.

Question:

Vous êtes donné une structure qui détient les informations sur les employés avec deux éléments, int département et string nom.

struct Employee
{ 
    string Name;
    int Dept;
}

Vous êtes donné les détails de N personnes, parmi lesquelles N/2 employés ont Dept == 0 et N/2 employés ont Dept == 1aménagées dans un certains ordre arbitraire. Vous avez besoin de trier les détails de l'employé en fonction de leur Dept valeur et il devrait être stable c'est à dire, de l'ordre de 1s et 0s dans le document original doit être maintenu.

Par exemple, étant donné les données d'exemple suivantes:

Nom Dept 

X1 0 
X2 1 
X3 0 
X4 1 
X5 0 

après le tri, le résultat devrait être:

Nom Dept 

X2 1 
X4 1 
X1 0 
X3 0 
X5 0 

L'algorithme doit être stable et la complexité du temps devrait être O(N), avec la constante de l'espace pour les autres variables (ce qui signifie que le tri doit être fait sur place).

source d'informationauteur