Sto cercando una struttura dati (tipo array) che consenta l'inserimento rapido di valori (più rapidi di O (N)) nella struttura. La struttura dati deve essere in grado di stampare i suoi elementi nel modo in cui sono stati inseriti. Questo è simile a qualcosa come List.Insert() (che è troppo lento in quanto deve spostare ogni elemento), tranne che non ho bisogno di accesso casuale o cancellazione. L'inserimento sarà sempre all'interno della dimensione dell'array. Tutti i valori sono unici Non sono necessarie altre operazioniStruttura dati efficiente per inserimento
Ad esempio, se Inserisci (x, i) inserisce il valore x all'indice i (indicizzazione 0). Poi:
- Inserisci (1, 0) dà {1}
- Inserisci (3, 1) dà {1,3}
- inserto (2, 1) dà {1,2,3}
- Inserisci (5, 0) dà {5,1,2,3}
Ed avrà bisogno di essere in grado di stampare {5,1,2,3} alla fine.
Sto usando C++.
cosa intendi per "array like"? – juanchopanza
Avete dei requisiti per quanto riguarda la complessità di attraversamento della struttura dei dati? –
@juanchopanza intendo in superficie, dovrebbe funzionare come un array lineare. Dovrebbe mantenere gli elementi nel modo in cui li ho inseriti. – Peter