2010-12-13 14 views
3

私はすでに次の点に注意だ:C++ STLには他にどのようなデータ構造がありますか?

  • 配列
  • ビットセット
  • ハッシュマップと
  • 定期的なマップを設定し、
  • イテレータ
  • リスト
  • ペア
  • を設定し、
  • タプル
  • キュー、dequeの、およびプライオリティキュー
  • スタック
  • valarrays
  • ベクトル

は、C++ライブラリで利用可能なデータ構造の他のタイプがあります。私が特に探しているのはグラフですが、他に何があるかも知りたいです。

また、グラフを実装するためにプロジェクトにリンクできる外部ライブラリがあるかどうかを知りたいと思います。

+2

Boost.Graph http://www.sgi.com/tech/stl/table_of_contents.html

が標準ライブラリに加えて、あなたがBoostライブラリを見ている必要があります。C++標準ライブラリで提供されているものの包括的なリストが必要な場合は、C++標準を参照してください([C++ 0xタグページ](http://stackoverflow.com/tags)で最新のドラフトへのリンクを見つけることができます)/c%2b%2b0x/info))。 C++標準ライブラリ実装がサポートするものの包括的なリストが必要な場合は、実装のドキュメントを参照してください。 –

+0

欠落した文字列と複合語 –

+0

@Chrisええ、文字列は複雑な型の使用に慣れていない文字数の配列なので、 – sj755

答えて

2

STLは三つの部分に分かれています。

  • コンテナ
  • イテレータ
  • あなたがコンテナを明らかに発見したアルゴリズム

コンテナに関連付けられたイテレータを使用している可能性がありますが、イテレータは見つかった以上に多くあります。

アルゴリズムセクションはイテレータを介してコンテナにリンクされています。しかし、パーツハンドルファンクタと関連バインダも含まれています。このため

私のfavortieサイトは次のとおりです。

も参照してください:Boost Library

3

「STL」ではなく、「C++標準ライブラリ」などです。この用語は、いくつかの特定のデータ構造およびアルゴリズムの初期草案を指す。それらのすべてが標準ライブラリに入っているわけではなく、標準ライブラリには他のものも含まれています(たとえば、すべてのiostreamクラス)。

これは完全なリストのようです(タプルと配列について言及しているので、C++ 0xについて具体的に話しているようです)。私はビットセットとイテレータを「データ構造」と見なすのかどうかは分かりませんが、それは公正な説明だと思います。

明らかにグラフの実装はありません。残念ながら。あなたはしかし、ブーストから1を得ることができます:(

関連する問題