listes chaînées sont utiles pour les listes dynamiques des objets qui vont changer fréquemment . Une liste chaînée peut effectuer les insertions et suppressions en temps constant , tandis que les tableaux dynamiques effectuent ces tâches en temps linéaire. Cet avantage pour l'insertion et la suppression arrive à un prix d'avoir un temps d'accès plus lent , car la liste doit être parcourue à chaque fois un indice différent est souhaité. Ce manque d'accès aléatoire signifie que vous ne pouvez pas utiliser un algorithme de tri standard comme " qsort ", qui est une implémentation de l'algorithme de tri rapide trouvé dans la bibliothèque C + + standard. Heureusement , les concepteurs de std :: liste fourni des outils de tri spécifiques qui sont bien documentés et facile à utiliser . Instructions
1
Inclure liste en-tête de la bibliothèque standard dans votre fichier de code. Cela peut déjà être inclus si vous avez défini l'objet de liste dans votre code source.
# Include
2 Modifier la mise en œuvre de la structure , vous serez tri pour surcharger l' opérateur "<" . Cet opérateur est utilisé par std :: list lors du tri de la liste. Assurez-vous que vous sélectionnez le champ de données approprié pour le tri, sinon les résultats de tri ne peuvent pas être comme prévu.
//Ceci est un exemple de structure . Modifiez votre structure existante pour utiliser toutes les < opérateur
struct MyStruct
{
int m_dataToSortOn ;
bool operator < (const MyStruct & RHS) Photos
{
retour this.m_dataToSortOn < rhs.m_dataToSortOn ;
}
};
3 < p > Appelez la méthode "sort " de votre objet liste . Cela va trier la liste des objets en fonction de la sortie de l' opérateur "<"
//Trier la liste des données
myList.sort (); .