Opened 5 years ago
Closed 5 years ago
#235 closed ожидается проверка (задача сдана)
WW_intrusive_list
Reported by: | Roman Venediktov | Owned by: | Sokolov Viacheslav |
---|---|---|---|
Component: | WW_intrusive_list | Version: | 2.0 |
Keywords: | Cc: |
Description
Change History (3)
comment:1 Changed 5 years ago by
Type: | ожидается проверка → ожидаются исправления |
---|
comment:2 Changed 5 years ago by
Type: | ожидаются исправления → ожидается проверка |
---|---|
Version: | 1.0 → 2.0 |
comment:3 Changed 5 years ago by
Resolution: | → задача сдана |
---|---|
Status: | assigned → closed |
malloc может вернуть NULL, нужен assert.
struct intrusive_list *list = init_list(malloc(sizeof(struct intrusive_list))); - аллокация не нужна, можно и на стэке выделить.
Кажется, что front/back расходятся с исходной терминологией задачи.
Note: See
TracTickets for help on using
tickets.
debug_compileSubfiles - не очень хорошое именование, лучше везде snake_case
Расписал https://wiki.compscicenter.ru/index.php/C%2B%2B_1MIT_осень_1_2019#.D0.A2.D1.80.D0.B5.D0.B1.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D1.8F_.D0.BA.D0.BE.D1.80.D1.80.D0.B5.D0.BA.D1.82.D0.BD.D0.BE.D1.81.D1.82.D0.B8.2C_.D0.BF.D1.80.D0.B5.D0.B4.D1.8A.D1.8F.D0.B2.D0.BB.D1.8F.D0.B5.D0.BC.D1.8B.D0.B5_.D0.BA_.D1.80.D0.B0.D0.B1.D0.BE.D1.82.D0.B0.D0.BC и, в частности, не хватает:
Какая мотивация в сигнатуре
struct intrusive_list *remove_all_points
вместо простоvoid remove_all_points
? (и других местах)В программе утечка памяти: на exit не очистится список.
Хотелось бы изолировать все детали реализации списка в clist.c, в частности, знание о фиктивной вершине. Для этого нужно завести дополнительные методы, которые можно именовать, например, begin(list) и end(list), которые возращают head и head->prev соответственно, а также сделать метод, который по (list, node) скажет, можно ли итерироваться дальше или нужно остановиться.