Change History (5)

comment:1 Changed 5 years ago by Артур Гулецкий (huletski)

Все ли команды вы реализовали? Не работает тестовая последовательность из задания, течет память:

{lab_03}[2005]$ valgrind ./lab_03 < ~/dvl/private-labs/lab_03/check/tests/00-smoke.input 
==2368== Memcheck, a memory error detector
==2368== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al.
==2368== Using Valgrind-3.11.0 and LibVEX; rerun with -h for copyright info
==2368== Command: ./lab_03
==2368== 
Unknown command
(1 2)  (4 6)  (3 6)  (1 2)   
Unknown command
(4 6)  (3 6)   
 
Unknown command
(2 -4)   
==2368== 
==2368== HEAP SUMMARY:
==2368==     in use at exit: 40 bytes in 2 blocks
==2368==   total heap usage: 8 allocs, 6 frees, 5,256 bytes allocated
==2368== 
==2368== LEAK SUMMARY:
==2368==    definitely lost: 16 bytes in 1 blocks
==2368==    indirectly lost: 24 bytes in 1 blocks
==2368==      possibly lost: 0 bytes in 0 blocks
==2368==    still reachable: 0 bytes in 0 blocks
==2368==         suppressed: 0 bytes in 0 blocks
==2368== Rerun with --leak-check=full to see details of leaked memory
==2368== 
==2368== For counts of detected and suppressed errors, rerun with: -v
==2368== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)

Если реализовывали все команды, проверьте, чтобы работал пример из условия (в т.ч. чтобы не было ошибок при работе с памятью), если нет - напишите какие команды проверять.

Мельком посмотрел код, замечания следующие:

  • тип аргумента функции get_length неверный (вряд ли функция модифицирует список);
  • странно, что при удалении узла реализация считает переменную l избыточной (l->head точно никогда не изменяется при удалении узла списка?);
  • clist.c:22 зачем нужна эта строка?

comment:2 Changed 5 years ago by Артур Гулецкий (huletski)

Type: ожидается проверкаожидаются исправления

comment:3 Changed 5 years ago by Шелухина Екатерина

Owner: changed from Артур Гулецкий (huletski) to huletsi
Type: ожидаются исправленияожидается проверка
Version: 1.02.0

comment:4 Changed 5 years ago by Шелухина Екатерина

Owner: changed from huletsi to Артур Гулецкий (huletski)

comment:5 Changed 5 years ago by Артур Гулецкий (huletski)

Resolution: задача сдана
Status: assignedclosed

Ок, +12. По коду, за исключением замечаний, неплохо.

Замечания вы проигнорировали.

тип аргумента функции get_length неверный (вряд ли функция модифицирует список);

const забыли у аргумента. На момент выдачи задания на лекциях, кажется, о нем не рассказывали.

странно, что при удалении узла реализация считает переменную l избыточной (l->head точно никогда не изменяется при удалении узла списка?);

Про проблему (пользователь интрузивного списка вынужден явно вызывать free(il.head)) решения с указателем на sentinel node с т.з. арихектуры я рассказал на поре.

clist.c:22 зачем нужна эта строка

Строка лишняя (переменная prev_node используется).

В этот раз обойдемся без штрафов, в следующий раз - либо исправляйте, либо уточняйте, если суть замечания не ясна.

Note: See TracTickets for help on using tickets.