Linked lister er nyttige for dynamiske lister over objekter, der vil ændre ofte. En sammenkædet liste kan udføre listeindsættelser og sletninger i konstant tid , mens dynamiske arrays udføre disse opgaver i lineær tid. Denne fordel for indsættelse og sletning kommer på en pris for at have en langsommere adgang tidspunkt, som listen skal gennemløbes hver gang en anden indeks ønskes. Denne mangel på random access betyder at du ikke kan bruge en standard sortering algoritme som " qsort ", som er en implementering af den hurtige slags algoritme findes i C + + standard biblioteket. Heldigvis designerne af std :: liste konkrete sortering værktøjer, der er veldokumenteret og ligetil at bruge . Instruktioner
1
Medtag standard biblioteket liste header ind i din kode fil. Det kan allerede være inkluderet, hvis du har defineret en liste objekt i din kildekode .
# Include
2 Rediger gennemførelsen af den struktur, du vil sortere på overbelaste "<" operatør. Denne operator bruges af std :: liste, når sortere listen. Sørg for, at du vælger den rigtige datafelt at sortere , kan ellers sorteringsresultater ikke som forventet.
//Dette er et eksempel struktur. Ændr din eksisterende struktur til at udnytte < operatør
struct MyStruct
{
int m_dataToSortOn ,
bool operatør < ( const MyStruct & rhs )
{
afkast this.m_dataToSortOn < rhs.m_dataToSortOn ,
}
};
3 < p > Ring til "slags "-metoden på din liste objekt. Dette vil sortere listen over objekter baseret på produktionen af "<" operatør
//sortere listen over data
myList.sort (); .