Linked lister er nyttige for dynamiske lister over objekter som skal endres ofte . En lenket liste kan utføre liste innsettinger og slettinger i konstant tid , mens dynamiske matriser utføre disse oppgavene i lineær tid . Denne fordelen for innsetting og sletting kommer til en pris av å ha en tregere aksesstid, som listen skal bli krysset hver gang en annen indeks er ønsket. Denne mangelen på random access betyr at du ikke kan bruke en standard sortering algoritme som " qsort ", som er en implementering av rask sortering algoritme finnes i C + + standard bibliotek . Heldigvis, designerne av std :: liste spesifikke sortering verktøy som er godt dokumentert og grei å bruke. Instruksjoner
en
Inkluder standard bibliotekets liste header inn koden din fil. Dette kan allerede være inkludert hvis du har definert en liste objekt i kildekoden .
# Include
2 Endre gjennomføringen av den strukturen du vil bli sortering til overbelaste "<" operatør. Denne føreren blir brukt av std :: listen når sortering listen . Pass på at du velger riktig data -feltet for å sortere på, kan ellers sortering resultatene ikke blir som forventet .
//Dette er et eksempel struktur . Endre eksisterende struktur for å utnytte < operatør
struct MyStruct
{
int m_dataToSortOn ;
bool operator < ( const MyStruct & rhs )
{
retur this.m_dataToSortOn < rhs.m_dataToSortOn ;
}
};
3
Ring " sortere "-metoden på listen objekt . Dette vil sortere listen over objekter basert på produksjon av " < " operatør
//Sorter listen over data
myList.sort (); .