Perché non esiste un SortedListT di base?

6

Per quanto ne so, non c'è modo di ottenere un List<T> con la capacità di ordinare se stesso. Se aggiungo un elemento, voglio che la struttura dei dati lo inserisca nella giusta posizione (basato sul IComparer<T> associato). Sto cercando qualcosa con la stessa logica di SortedSet<T> .

Sono a conoscenza di System.Collections.Generic.SortedList<TKey, TValue> ma è più un tipo di Dictionary .

Non ne ho davvero bisogno (non è molto difficile da implementare). Mi chiedo solo se esiste una tale struttura dati e, in caso negativo, perché?

fonte:

posta aloisdg 07.10.2015 - 06:32
fonte

1 risposta

16

Interromperà l'interfaccia IList .

Recuperi gli elementi da un elenco per indice, se gli indici per gli elementi continuano a cambiare questo è inutile, anche Insert sarebbe inutile.

Elemento [Int32] - Ottiene o imposta l'elemento sull'indice specificato.

Inserisci (Int32, T) - Inserisce un elemento in IList<T> nell'indice specificato.

Quindi il motivo per cui non esiste un'implementazione di SortedList<T> è perché altri ADT possono gestire la funzionalità in modo più razionale ed efficiente.

    
risposta data 08.10.2015 - 17:43
fonte

Leggi altre domande sui tag