¿Hay una lista vinculada en C++ que podría simplemente incluir #? ¿O necesito crear el mío si quiero usar uno?¿Hay una biblioteca predefinida de lista enlazada en C++?
Respuesta
Como daniel notes, sí, std::list
. El uso sería:
#include <list>
// ...
std::list<int> listOfInts;
listOfInts.push_back(1);
// ...
Y así sucesivamente.
Puede encontrar una lista completa de las clases STL here. La sección que buscas es 3.2, clases de contenedor. Otra referencia útil de la biblioteca estándar de C++ es here.
#include <list>
en C++ tenemos la STL, plantilla estándar Bibliotecas que sí contienen mucho aa de implemantations de estructuras de datos populares y algoritmos como pilas, colas, listas enlazadas y búsqueda popular y algoritmos de ordenación incluso .....
Como ya se ha dicho por Daniel puede incluirlo en la lista # include <>
Si está abierto a buscar en Qt, es posible que desee probar sus contenedores (como QList, QMap y la muy buena QString). QList soporta el patrón C++ iterador, así como la posiblemente más fácil "Java-style iterators" ... que se parecen más a esto:
QList<QString> list; list << "A" << "B" << "C" << "D"; QListIterator<QString> i(list); while (i.hasNext()) qDebug() << i.next();
La idea de que los programadores de C++ siempre deben usar la biblioteca estándar se debe tomar con un grano de sal. Para listas, mapas, cadenas y casi todo lo demás ... encontrará que los proyectos de alto perfil a menudo usan algo más. El código fuente de Mozilla tiene 9 de sus propias clases concretas diferentes para cadenas, porque std :: string simplemente no cumplía con sus necesidades de internacionalización/etc.
Si bien no siempre debe utilizar la biblioteca estándar de C++ en todo tipo de proyectos, definitivamente debe saber CÓMO para usarlo. Contiene clases que son extremadamente generales, bien probadas, bien documentadas y disponibles en cada instalación. Esto lo convierte en una buena referencia para comunicarse con otros programadores de C++ sobre algoritmos/etc.
Recomendar no usar características de idioma ... hm. – GManNickG
No, recomiendo desarrollar un conocimiento de las alternativas (especialmente cuando esas alternativas son utilizadas en la práctica por muchos programadores profesionales de C++). – HostileFork
- 1. C++ Lista enlazada comportamiento
- 2. Codificando una función para copiar una lista enlazada en C++
- 3. Transmisión de lista enlazada multiproceso
- 4. C++ 11 macro predefinida
- 5. Lista enlazada de Scala stackoverflow
- 6. Hacer que una lista enlazada sea segura
- 7. Lista enlazada de listas enlazadas en Java
- 8. Creación de un constructor de copia de una lista enlazada
- 9. ¿Hay una biblioteca jQuery escrita en C#?
- 10. Lista enlazada simultánea sin cerradura en Java
- 11. ¿Hay una biblioteca de plataforma cruzada C++?
- 12. ¿Cómo implementar una lista doblemente enlazada en PHP?
- 13. Lista enlazada a Java: método de adición
- 14. tratar con gran variedad de lista enlazada
- 15. lista enlazada añadir a la cola, confusión
- 16. ¿Cómo incluyo una biblioteca enlazada estáticamente en mi proyecto Eclipse C++?
- 17. ¿Tiene C# /. Net x.x una implementación de una lista doblemente enlazada (que puede repetirse al revés)?
- 18. ¿Qué hay dentro del archivo .lib de la biblioteca estática, biblioteca dinámica enlazada estáticamente y biblioteca dinámica vinculada dinámicamente?
- 19. ¿Cómo elimino un elemento que coincide con un criterio dado de una lista enlazada en C#?
- 20. Buscando una matriz (vs lista enlazada) implementación de tablas hash en C
- 21. ¿Hay una biblioteca LINQ para C++?
- 22. Biblioteca readline correctamente enlazada y funcionando correctamente en Windows?
- 23. Función de partición de lista enlazada y resultados invertidos
- 24. Lista lineal enlazada: ¿terminología válida/común?
- 25. ¿Ordenar una estructura de lista enlazada en una consulta SQL o LINQ?
- 26. Cómo convertir lista enlazada a una matriz usando `toArray()`?
- 27. ¿Puedo usar java.util.LinkedList para construir una lista circular/cíclica enlazada?
- 28. ¿Hay una biblioteca de programación cuadrática en C++?
- 29. Lista doblemente enlazada en un lenguaje de programación puramente funcional
- 30. ¿Hay una lista de interfaces de biblioteca estándar de C++ 11 que requieren excepciones habilitadas?
gracias ...................... – user69514
Esta es una lista de doble enlace , que permite el recorrido bidireccional, el SGI STL (y algunos otros) también definen listas de enlaces individuales, consulte http://www.sgi.com/tech/stl/Slist.html por ejemplo. –
Pero el elemento de la lista no tiene información sobre su predecesor y su sucesor ... Puede ser necesario ... – Offirmo