Esiste un elenco collegato in C++ che potrei includere solo #include? O devo creare il mio se voglio usarne uno?Esiste una libreria predefinita di elenchi collegati in C++?
risposta
Come daniel notes, sì, std::list
. Usage sarebbe:
#include <list>
// ...
std::list<int> listOfInts;
listOfInts.push_back(1);
// ...
E così via.
È possibile trovare un elenco completo di classi STL here. La sezione che stai cercando è 3.2, Classi contenitore. Un altro riferimento utile della libreria standard C++ è here.
#include <list>
in C++ abbiamo la STL, Template Librerie standard che contengono molto aa di implemantations di strutture di dati popolari e algoritmi come pile, code, liste collegate e la ricerca popolare e algoritmi di ordinamento anche .....
Come già detto da Daniel è possibile includere da #include < list>
Se si è aperti a esaminare Qt, si potrebbe voler provare i propri contenitori (come QList, QMap e QString). QList supporta il pattern C++ iteratore, così come il probabilmente più facile "Java-style iterators" ... che più simile a questo:
QList<QString> list; list << "A" << "B" << "C" << "D"; QListIterator<QString> i(list); while (i.hasNext()) qDebug() << i.next();
L'idea che i programmatori C++ devono sempre utilizzare la libreria standard dovrebbe essere preso con un grano di sale. Per elenchi, mappe, stringhe e quasi tutto il resto ... scoprirai che i progetti di alto profilo spesso usano qualcos'altro. Il codice sorgente di Mozilla ha 9 delle sue diverse classi concrete per le stringhe, perché std :: string non soddisfaceva le loro esigenze di internazionalizzazione/etc.
Mentre non si dovrebbe sempre usare la libreria standard C++ in ogni tipo di progetto, si deve assolutamente conoscere COME per utilizzarlo. Contiene classi estremamente generali, ben collaudate, ben documentate e disponibili su ogni installazione. Ciò lo rende una buona base per comunicare con altri programmatori C++ sugli algoritmi/ecc.
Raccomandare di non utilizzare le funzionalità del linguaggio ... hm. – GManNickG
No, raccomando di sviluppare una consapevolezza delle alternative (specialmente quando quelle alternative sono utilizzate nella pratica da molti programmatori C++ professionali). – HostileFork
- 1. Esiste una libreria predefinita di elenchi collegati in Python?
- 2. Doppi elenchi collegati in C++
- 3. Elenco collegato di elenchi collegati in Java
- 4. Esiste una libreria C++ XSLT?
- 5. Listener di elenchi in C#
- 6. Usi elenchi collegati, elenchi collegati doppiamente e così via, nella programmazione aziendale?
- 7. Alberi: elenchi collegati vs matrici (efficienza)
- 8. Esiste una libreria USB cross platform C++?
- 9. Esiste una libreria di threading multipiattaforma in C++?
- 10. Esiste una libreria di programmazione quadratica in C++?
- 11. Esiste una buona libreria Python in grado di analizzare C++?
- 12. Esiste una specie di libreria di assemblaggio C++ di runtime?
- 13. Oggetti/classi collegati/collegati in C# come LINQ
- 14. Esiste una libreria di file system leggera multipiattaforma C++?
- 15. Esiste una libreria di hashmap per JavaScript?
- 16. Esiste un repository di libreria per C?
- 17. Come incorporare una libreria C++ in una libreria C?
- 18. Il vettore è un caso speciale di elenchi collegati?
- 19. Come vengono implementati gli elenchi collegati senza l'uso del puntatore?
- 20. Esiste una libreria Java di funzioni Unix?
- 21. Perché il mergesort è migliore per gli elenchi collegati?
- 22. Individuazione del nodo intersecante da due elenchi collegati intersecanti
- 23. Esiste una libreria GZIP J2ME?
- 24. Esiste una serializzazione nuova di zecca e una libreria di riflessione in C++ 11 standard?
- 25. Esiste una funzione virtuale pura nella libreria standard C++?
- 26. Esiste un equivalente C++ di una NullPointerException
- 27. Esiste una libreria YAML nativa per iPhone?
- 28. JavaScript: esiste una libreria di utilità?
- 29. Esiste una libreria di caching Python?
- 30. Esiste una libreria di routing PHP autonoma?
grazie ...................... – user69514
Questa è una doppia lista collegata , che consente l'attraversamento bidirezionale, il SGI STL (e alcuni altri) definiscono anche singoli elenchi concatenati, per esempio http://www.sgi.com/tech/stl/Slist.html. –
Ma l'elemento nell'elenco non ha informazioni sul suo predecessore e sul suo successore ... Potrebbe essere necessario ... – Offirmo