Третьего дня, во время сортировки старых закладок, попалась мне на глаза блок-схема с алгоритмом выбора STL-контейнера. «Почему же для контейнеров есть, а для стандартных алгоритмов нет? — подумал я. — Это необходимо исправить». Подумано — сделано. Сперва планировалось за пару часов нарисовать нечто простенькое, но в дальнейшем обнаружилось, что алгоритмы никак не хотят умещаться в простенькую схему. Я слегка увлекся, и спустя два вечера схема вобрала в себя 84 алгоритма, а также немного дополнительной информации. Под катом можно увидеть, что получилось в итоге.
Схема соответствует реалиям C++14, но отличия от C++11 минимальны (и перечислены здесь).
Исправления, дополнения, пожелания
UPD: По совету Halt узел с неоднозначной развилкой был переформулирован.
Комментарии (19)
ls1
21.09.2015 16:47Исходник бы
oteuqpegop
21.09.2015 17:14+1Держите ссылки на Gliffy:
www.gliffy.com/go/publish/8874265
www.gliffy.com/go/publish/8956331
Я, правда, не уверен, что они останутся доступными, когда у меня закончится триал.ls1
21.09.2015 17:28+3И не жаль вам столько трудов хоронить на таком «сервисе»? Можно было и в LibreOffice Draw (или даже Dia) то же самое изобразить, не было бы проблем с экспортом да и просто просмотром исходника.
oteuqpegop
21.09.2015 17:37+4Вы сейчас пробудили во мне уже почти прошедшую БОЛЬ момента, когда я осознал, что экспорт в SVG делается у них транзитом через растровые форматы. Но что поделать, менять что-либо уже слишком поздно было, и пришлось танцевать с бубном. Зато теперь я знаю, что это плохой сервис.
Halt
21.09.2015 17:12+6Вопрос «Будем модифицировать или создавать коллекции» и варианты ответа «Да» и «Нет» порвали мне мозг.
А по делу: начинание, бесспорно отличное, но цветовое кодирование, форма блоков и навигация вызывают вопросы.
Больше похоже на забавную картинку, нежели на рабочий инструмент.oteuqpegop
21.09.2015 17:29+1Ну, я мыслю так: по полноте и удобству оно вряд ли может соперничать с cppreference или чем-то подобным. А вот чтобы распечатать и иметь возможность быстро пробежаться глазами — сгодится. Соответственно, забавность мне показалась желательным свойством, приятнее ведь повесить на стену что-то эдакое.
Из этого вытекает и довольно запутанная навигация, которая зато позволила сделать ее почти прямоугольной.
И да, вы правы насчет «модифицировать или создавать», я поправлю «или» на «либо» вечером.Halt
21.09.2015 17:53+1Любой специалист по юзабилити вам скажет, что следует избегать косвенности.
Шутки с «не сохранять изменения? да/нет» не возникло бы, если кнопки подписать как «сохранить» и «выбросить», а вопрос сформулировать как «что делать с изменениями?».
Поэтому лучше ветки подписать явно, как «модифицировать» и «создавать».
P.S.: Сами картинки не мешают, мешает спагетти из стрелочек и невозможность навигации по областям. То есть в любом месте диаграммы может оказаться что угодно.
maydjin
21.09.2015 17:25+3«Будем модифицировать или создавать коллекции?» Да/Нет
Не распарсил. И не дочитал комменты *facepalm*.toxicdream
22.09.2015 06:47+4У женщин с этим проблем нет: Да = первый вариант, Нет = второй.
Это я как наученный горьким опытом говорю.
AtomKrieg
22.09.2015 10:21извините, но мне как-то роднее
http://habrahabr.ru/company/infopulse/blog/194726/
а ваш хайрез у меня не открывается.
oteuqpegop
23.09.2015 15:30Узел про «Будем модифицировать или создавать коллекции?» поправлен, картинки перезалиты.
mmatrosov
01.10.2015 17:20Ссылка на equal range, вопрос упорядочена ли коллекция. Полагаю, имелось ввиду, отсортирована ли она. Неконсистентненько получилось.
GeckoPelt
КДПВ!!!
pehat
GeckoPelt
Дорогие минусующие, ну неужели у вас не возникает теплого чувства от этой иллюстрации к классическому изданию «Незнайки на Луне»?:)