2010-12-13 6 views
3

Je suis déjà au courant de ce qui suit:Quelles autres structures de données sont disponibles dans C++ STL?

  • tableaux
  • bitsets
  • de cartes de hachage et définit
  • cartes régulières et ensembles
  • itérateurs
  • listes
  • paires
  • tuples
  • files d'attente, Deques, et les files d'attente prioritaires
  • piles
  • valarrays
  • vecteurs

Y at-il un autre type de structure de données disponibles dans la bibliothèque C++. Ce que je cherche spécifiquement, ce sont des graphiques, mais j'aimerais aussi savoir ce qu'il y a d'autre.

En outre, j'aimerais savoir s'il y a des bibliothèques externes que je peux lier avec mes projets pour implémenter un graphique.

+2

Boost.Graph.Si vous voulez une liste complète de ce qui est fourni par la bibliothèque standard C++, consultez la norme C++ (vous pouvez trouver un lien vers le dernier brouillon sur la page [C++ 0x tag] (http://stackoverflow.com/tags/c% 2b% 2b0x/info)). Si vous voulez une liste complète de ce que votre implémentation C++ Standard Library prend en charge, consultez la documentation de votre implémentation. –

+0

Chaîne manquée et complexe –

+0

@Chris Oui, je suppose qu'une chaîne de caractères est juste un tableau de caractères que je devrais avoir compté, pas très familier avec l'utilisation du type complexe. – sj755

Répondre

2

La STL est divisé en trois parties:.

  • conteneurs
  • Itérateurs
  • algorithmes

Vous avez évidemment trouvé les conteneurs Vous avez probablement utilisé les itérateurs associés aux conteneurs, mais les itérateurs sont encore plus nombreux que vous ne l'avez trouvé:

Les sections d'algorithmes sont liées aux conteneurs via des itérateurs. Mais contient également les parties manipuler des foncteurs et des liants associés.

Mon site favortie en est: http://www.sgi.com/tech/stl/table_of_contents.html

En plus des bibliothèques standard vous devriez avoir un regard sur les bibliothèques Boost:

voir aussi: Boost Library

3

C'est "la bibliothèque standard C++" ou quelque chose à cet effet, pas "la STL". Ce terme fait référence à un projet initial de structures de données et d'algorithmes spécifiques. Ils ne sont pas tous inclus dans la bibliothèque standard et la bibliothèque standard contient également d'autres éléments (par exemple, toutes les classes iostream). Cela ressemble à une liste complète pour moi (vous parlez spécifiquement de C++ 0x, puisque vous mentionnez des tuples et des tableaux). Je ne sais pas si je considérerais même les bitsets et les itérateurs comme des «structures de données», mais je suppose que c'est une description juste.

Il n'y a certainement pas d'implémentation de graphe. Malheureusement. :(Vous pouvez en obtenir un de Boost, bien que

Questions connexes