Какие еще структуры данных доступны в C ++ STL? - PullRequest
3 голосов
/ 13 декабря 2010

Мне уже известно следующее:

  • Массивы
  • bitsets
  • хеш-карты и наборы
  • регулярные карты и наборы
  • итераторы
  • списки
  • пар
  • кортежи
  • очереди, запросы и очереди с приоритетами
  • стека
  • valarrays
  • векторы

Существует ли какой-либо другой тип структуры данных, доступный в библиотеке C ++. Что я специально ищу, так это графики, но я также хотел бы знать, что там еще есть.

Кроме того, я хотел бы знать, есть ли внешние библиотеки, которые я могу связать со своими проектами для реализации графика.

Ответы [ 2 ]

3 голосов
/ 13 декабря 2010

Это «стандартная библиотека C ++» или что-то в этом роде, а не «STL».Этот термин относится к первоначальному проекту некоторых конкретных структур данных и алгоритмов.Не все из них были включены в стандартную библиотеку, и стандартная библиотека также содержит другие элементы (например, все классы iostream).

Для меня это выглядит как полный список (кажется, вы говорите конкретноо C ++ 0x, так как вы упоминаете кортежи и массивы).Я не знаю, считаю ли я даже наборы битов и итераторы «структурами данных», но я думаю, что это справедливое описание.

Определенно нет реализации графа.К несчастью.:( Вы можете получить один из Boost, хотя.

2 голосов
/ 14 декабря 2010

STL делится на три части:

  • Контейнеры
  • итераторы
  • Алгоритмы

Вы, очевидно, нашли часть контейнеров и, вероятно, использовали итераторы, связанные с контейнерами. Но итераторы даже больше, чем вы нашли.

Секции алгоритмов связаны с контейнерами с помощью итераторов. Но также содержит детали, которые обрабатывают функторы и связанные с ними связующие.

Мой любимый сайт для этого: http://www.sgi.com/tech/stl/table_of_contents.html

В дополнение к стандартным библиотекам вы должны взглянуть на библиотеки повышения:

см. Также: Boost Library

...