Opened 5 years ago
Closed 5 years ago
#212 closed ожидается проверка (задача сдана)
WW #3
Reported by: | Vladislav Nosivskoy | 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 |
Ваш вывод на тест из условия
3 (1, 2) (4, 6) (3, 6) (1, 2) Unknown command (4, 6) (3, 6) 0 (2, -4)
правильный вывод
3 (1 2) (4 6) (3 6) (1 2) Unknown command (4 6) (3 6) 0 (2 -4)
Я подробнее скажу об этом на одной из следующих пар, но при следующей сдаче такая посылка получит 0 баллов. Сейчас же сниму за это 2.
Опечатка get_lenght
Именование: лучше назвать не del_list, а del_empty_list, это точнее опишет поведение
В main.c тоже можно было бы проверить ненулевые указатели, а также то, что malloc не вернет NULL
За исключением этого работа на мой взгляд хорошая, отсутствие случаев всегда радует, интерфейс списка позволяет с ним работать так, что фиктивная вершина фигурирует в пользовательском коде (если он корректен).
Note: See
TracTickets for help on using
tickets.
Расписал 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 и, в частности, не хватает:
на head зовется malloc, но никто не зовет free
Хотелось бы изолировать все детали реализации списка в clist.c, в частности, знание о фиктивной вершине. Для этого нужно завести дополнительные методы, которые можно именовать, например, begin(list) и end(list), которые возращают head и head->prev соответственно, а также сделать метод, который по (list, node) скажет, можно ли итерироваться дальше или нужно остановиться.