Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> Programmazione >> C /C + + Programming >> .

Come organizzare una lista usando struct in C + +

liste collegate sono utili per una lista dinamica di oggetti che cambiano di frequente. Una lista concatenata può eseguire Lista inserzioni e delezioni in tempo costante , mentre gli array dinamici eseguono questi compiti in tempo lineare . Questo beneficio per l'inserimento e la cancellazione viene ad un prezzo di avere un tempo di accesso più lento , come la lista deve essere percorsa ogni volta un diverso indice è voluta. Questa mancanza di accesso casuale significa che non è possibile utilizzare un algoritmo di ordinamento standard come " qsort ", che è una implementazione dell'algoritmo di ordinamento rapido trovato nella libreria standard C + + . Fortunatamente , i progettisti di std :: list forniti strumenti di ordinamento specifici che sono ben documentate e semplice da usare. Istruzioni
1

Includere della libreria standard elenco di intestazione nel file di codice . Questo può essere già incluso se si è definito l'oggetto elenco nel codice sorgente .

# Include
2

Modificare l' implementazione della struttura vi sarà di ordinamento per sovraccaricare l'operatore " < " . Questo operatore è utilizzato da std :: list durante l'ordinamento dell'elenco . Assicurarsi di selezionare il campo dati appropriato per ordinare su , altrimenti i risultati di ordinamento potrebbero non essere quello desiderato .

//Questa è una struttura di esempio . Modifica la tua struttura esistente per utilizzare il < operatore

struct MyStruct

{

int m_dataToSortOn ;

bool operator < ( const MyStruct & sd)

{

ritorno this.m_dataToSortOn < rhs.m_dataToSortOn ;

}

} ;
3

Chiamare il metodo "sort" sul vostro oggetto lista. Questo sarà ordinare la lista di oggetti in base all'uscita del operatore " < "

//Ordina l'elenco dei dati

myList.sort ( ) .

 

Programmazione © www.354353.com