Ho letto che gli elementi di accesso per indice di posizione possono essere eseguiti in tempo costante in un deque STL. Per quanto ne so, gli elementi di una deque possono essere memorizzati in diverse posizioni non contigue, eliminando l'accesso sicuro tramite l'aritmetica del puntatore. Ad esempio:La deque di accesso STL per indice è O (1)?
ABC-> defghi-> jkl-> mnop
Gli elementi del deque sopra è costituito da un singolo carattere. L'insieme di caratteri in un gruppo indica che è allocato in memoria contigua (ad esempio abc si trova in un singolo blocco di memoria, defhi si trova in un altro blocco di memoria, ecc.). Qualcuno può spiegare in che modo l'accesso tramite l'indice di posizione può essere eseguito in un tempo costante, specialmente se l'elemento a cui si accede si trova nel secondo blocco? O un deque ha un puntatore al gruppo di blocchi?
Aggiornamento: O c'è qualche altra implementazione comune per un deque?
Perché il voto negativo? – jasonline
Probabilmente perché hai risposto alla tua domanda e l'hai accettata. –
@Tomalak: il meccanismo esiste per un motivo. – GManNickG