2013-11-03 12 views
7

Lo so in C++ esiste già #include <list> Ora sono curioso di sapere se esiste anche in python.Esiste una libreria predefinita di elenchi collegati in Python?

+3

Benvenuti in SO! Potresti elaborare il motivo per cui hai bisogno di questo? Python ha già il tipo 'list'. – georg

+0

Un 'elenco' Python equivale a un array, non a un elenco collegato, è un tipo di dati diverso. – Leigh

+1

Possibile duplicato di http://stackoverflow.com/questions/280243/python-linked-list – Tim

risposta

6

Si può anche dare un'occhiata a llist pitone packege, che fornisce alcune funzioni utili, che deque non lo fa. Non ci sono solo collegamenti doppiamente, ma anche una singola struttura di dati dell'elenco collegato in quel pacchetto. IMHO, uno dei maggiori vantaggi di questo pacchetto è la possibilità di memorizzare un riferimento agli elementi della lista.

+0

C'è un'altra risposta qui: http://stackoverflow.com/questions/280243/python-linked-list?noredirect=1&lq=1 – Mugen

1

Sembra che collections.deque sia una libreria con doppia lista di collegamenti in Python. Secondo la documentazione, dovrebbe costare circa O (1) costo quando si aggiunge o si apre la testa o la coda, così come O (n) per gli inserimenti regolari (che corrisponde a ciò che ci si aspetterebbe da un elenco collegato).

API: http://docs.python.org/2/library/collections.html#collections.deque

Fonte: https://stackoverflow.com/a/282238/2441252

+1

Ho esaminato il documento per deque. Sembra che deque sia più simile a FIFO o LIFO. Non è possibile inserire elementi nel mezzo della coda. Puoi solo inserirli all'inizio o alla fine. – Mugen

Problemi correlati