Pull to refresh

Comments 3

Я позволю себе несколько комментериев по коду (не как претенция, а как совет по улучшению):

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.

Articles