Comments 3
Я позволю себе несколько комментериев по коду (не как претенция, а как совет по улучшению):
1.
2. Поскольку вы пользуетесь auto, я предполагаю, что вы пользуетесь C++11. В таком случае циклы
3. Аргументы функций хорошо передавать по константной ссылке (в функции сравнения, например), чтобы избежать копирований.
4. Ещё хорошим тоном является соблюдать const-correctness, например во всех функциях было бы лучше в аргументах писать
5. Совершенно непонятно, зачем вы используете странные типы вроде __int8 и short. Их имеет смысл использовать только если вы хотите сэкономить память или обеспечить бинарную совместимость, но это не ваш случай. Вы только проиграете по скорости. Для размеров и индексов имеет смысл использовать size_t, а в остальных случаях int. Для применения других целочисленных типов должны быть веские основания.
6. bypass — это обход в смысле «на дороге ремонт, и пришлось идти в обход». Обход графа/дерева/бора, в смысле «посещение и обработка вершин в определённой последовательности» — это traversal.
1.
typedef struct {...} node;
— это старомодный C-стиль. В C++ можно (и принято) просто писать:struct node { ... };
2. Поскольку вы пользуетесь auto, я предполагаю, что вы пользуетесь C++11. В таком случае циклы
for (auto i(S.begin()); i != S.end(); ++i)
можно записать прощеfor (auto & element : S)
3. Аргументы функций хорошо передавать по константной ссылке (в функции сравнения, например), чтобы избежать копирований.
4. Ещё хорошим тоном является соблюдать const-correctness, например во всех функциях было бы лучше в аргументах писать
const string & S
вместо string & S
5. Совершенно непонятно, зачем вы используете странные типы вроде __int8 и short. Их имеет смысл использовать только если вы хотите сэкономить память или обеспечить бинарную совместимость, но это не ваш случай. Вы только проиграете по скорости. Для размеров и индексов имеет смысл использовать size_t, а в остальных случаях int. Для применения других целочисленных типов должны быть веские основания.
6. bypass — это обход в смысле «на дороге ремонт, и пришлось идти в обход». Обход графа/дерева/бора, в смысле «посещение и обработка вершин в определённой последовательности» — это traversal.
Попросили оставить это здесь
Там же ссылка на гитхаб
Там же ссылка на гитхаб
Sign up to leave a comment.
Поиск решений для игр со словами. Применение бора