2009-11-14 32 views

Répondre

31

Comme daniel notes, oui, std::list. L'utilisation serait:

#include <list> 
// ... 
std::list<int> listOfInts; 
listOfInts.push_back(1); 
// ... 

Et ainsi de suite.

Vous trouverez une liste complète des classes STL here. La section que vous recherchez est 3.2, Classes Container. Une autre référence utile de la bibliothèque standard C++ est here.

+1

merci ...................... – user69514

+0

Ceci est une liste double liée , ce qui permet la traversée bidirectionnelle, le SGI STL (et quelques autres) définissent également des listes simples liées, voir http://www.sgi.com/tech/stl/Slist.html par exemple. –

+0

Mais l'élément dans la liste n'a aucune information sur son prédécesseur et son successeur ... Cela peut être nécessaire ... – Offirmo

7
#include <list> 
4

En C++, nous avons la STL, les bibliothèques de modèles standard qui ne contiennent aa beaucoup de implemantations de structures de données populaires et des algorithmes tels que les piles, les files d'attente, listes chaînées et la recherche populaire et algorithmes de tri même .....

Comme nous l'avons dit par daniel vous pouvez l'inclure par #include liste <>

2

Si vous êtes ouvert à la recherche sur Qt, vous pouvez essayer leurs conteneurs (comme QList, QMap et la très bonne QString). QList soutient le modèle de iterator C++, ainsi que le sans doute plus facile "Java-style iterators" ... qui ressemble plus à ceci:

QList<QString> list; 
list << "A" << "B" << "C" << "D"; 

QListIterator<QString> i(list); 
while (i.hasNext()) 
    qDebug() << i.next(); 

L'idée que les programmeurs C++ doivent toujours utiliser la bibliothèque standard doit être pris avec un grain de sel. Pour les listes, les cartes, les chaînes, et presque tout le reste ... vous constaterez que les projets de haut niveau utilisent souvent autre chose. Le code source de Mozilla possède 9 de ses propres classes concrètes pour les chaînes, car std :: string ne répondait pas à leurs besoins d'internationalisation/etc.

Bien que vous ne devriez pas toujours utiliser la bibliothèque standard C++ dans chaque type de projet, vous devez absolument savoir COMMENT pour l'utiliser. Il contient des classes extrêmement générales, bien testées, bien documentées et disponibles sur chaque installation. Cela en fait un bon point de départ pour communiquer avec d'autres programmeurs C++ sur les algorithmes/etc.

+0

Recommande de ne pas utiliser les fonctionnalités de langue ... hm. – GManNickG

+0

Non, je recommande de développer une prise de conscience des alternatives (surtout lorsque ces alternatives sont utilisées dans la pratique par de nombreux programmeurs C++ professionnels). – HostileFork