funciones - librerias de dev c++
¿Hay una lista de bibliotecas predefinidas en C++? (6)
¿Hay una lista enlazada en C ++ que podría #incluir? ¿O necesito crear el mío si quiero usar uno?
Con el fin de completar el conocimiento de las "listas de enlaces comunes que existen", la biblioteca Qt define su propia QLinkedList como parte de sus clases de contenedor (QMap, QString, etc.)
Son compatibles con los iteradores estándar, así como con los iteradores de estilo Java , que tienen una sintaxis fácil de usar:
QLinkedList<QString> list;
list << "A" << "B" << "C" << "D";
QListIterator<QString> i(list);
while (i.hasNext())
qDebug() << i.next();
Actualización: publiqué esta respuesta originalmente en 2009, para llamar la atención sobre la clase Qt. En el mundo posterior a C ++ 11, con elementos como el basado
for
rangosfor
, generalmente puede obtener una sintaxis aún mejor que los iteradores de estilo Java ... sin sacrificar el rendimiento para hacerlo.Así que, si bien es probable que valga la pena mencionar esto cuando lo publiqué, hoy no es probable que lo mencione. A menos que tenga alguna razón extraña para no hacerlo, simplemente use la lista enlazada individualmente de la biblioteca estándar (
std::forward_list
) o la lista doblemente enlazada (std::list
).
En c ++ tenemos las STL, bibliotecas de plantillas estándar que contienen una gran cantidad de ejemplos de estructuras de datos y algoritmos populares como pilas, colas, listas enlazadas y algoritmos populares de búsqueda y clasificación, incluso ...
Como ya dijo Daniel, puedes incluirlo en #include <list>
Sé que esta pregunta es bastante antigua, de todos modos tal vez valga la pena actualizarla, ya que se encuentra en los resultados de búsqueda cuando se buscan ETS y listas vinculadas:
Además de lo que ya han dicho los demás (use std::list para una std::list con doble std::forward_list ), para el caso de uso más común de una lista con un solo std::forward_list debería preferir std::forward_list , porque está optimizado para un solo enlace. Listas vinculadas específicamente.
Como señala Daniel , sí, std::list
. El uso sería:
#include <list>
// ...
std::list<int> listOfInts;
listOfInts.push_back(1);
// ...
Y así.
Puedes encontrar una lista completa de las clases de STL here . La sección que estás buscando es 3.2, clases de contenedores. Otra referencia útil de la biblioteca estándar de C ++ está here .
#include <list>