Блог пользователя IDont_love_TanyaRomanova

Автор IDont_love_TanyaRomanova, 11 лет назад, По-русски

Всем привет.

Вот я перешел в 9-ый класс и поставил себе задачу выучить С++. Вроде бы выучил, и пишу как-то, но к сожалению я пишу все те же самое, что на Паскале. Хочется юзать set, map, вектора. Но погуглив я особо ничего нормального для себя не нашел. Я не понимаю вообще, что это такое и как с ним работать, что оно дает, в каких задачах его можно использовать, а в каких нет?

Я понимаю, что блоги с такими темами создавались очень часто, но все же, помогите как-то с этой проблемой. Может кто знает какие-то сайты с материалами, или книги, или же сам может понятно рассказать.

P.S. Если посты или книги, то желательно на русском языке, ибо с английским у меня все очень плохо:(

  • Проголосовать: нравится
  • +7
  • Проголосовать: не нравится

»
11 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Выбираешь тот же map и читаешь, или беда с английским?

http://www.cplusplus.com/reference/

»
11 лет назад, # |
  Проголосовать: нравится +14 Проголосовать: не нравится

Английский учи, в АСМ без него трудно. Да и не только в АСМ.

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

»
11 лет назад, # |
  Проголосовать: нравится +8 Проголосовать: не нравится

Для себя всё достаточно хорошо понял из лекций ЛКШ по С++, тоже переходил с pascal'я. Рассказывается база (в том числе стандартные структуры данных) и тонкости, которые необходимо знать.

»
11 лет назад, # |
  Проголосовать: нравится +16 Проголосовать: не нравится

Грубые приближения сета, мапа и вектора:

map — ассоциативный массив, т.е. массив, где в качестве индексов может выступать любой тип, экземпляры которого сравнимы между собой, а в качестве значений — вообще любой тип. Добавление, удаление, доступ к элементу за O(logN), где N — размер мапа.

set — множество, аналогично множеству в паскале. Вставка, поиск элемента, удаление за такое же время, как и в мапе — O(logN).

vector — тупо массив. Главное удобство — вставка в конец и удаление из конца за константное время.

»
11 лет назад, # |
  Проголосовать: нравится +8 Проголосовать: не нравится

Сейчас на е-олимпе проводится обучение/соревнование 9 витков спирали начинается с очень простых задач, но сложность постепенно возрастает. Регулярно выкладываются лекции по с++ и алгоритмике, рассчитывается, что участники пишут на с++.

»
10 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

В книге Страуструпа есть глава про STL.

»
10 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Мне разобраться с STL очень сильно помогла вот эта книга: http://www.ozon.ru/context/detail/id/5384178/