Opened 5 years ago
Closed 5 years ago
#225 closed ожидается проверка (задача сдана)
WW #4
Reported by: | Карнаухов Кирилл | Owned by: | Дмитрий Свиридкин |
---|---|---|---|
Component: | WW_mergesort | Version: | 3.0 |
Keywords: | Cc: |
Description
Change History (5)
comment:1 Changed 5 years ago by
Owner: | changed from Дмитрий Свиридкин to Карнаухов Кирилл |
---|---|
Type: | ожидается проверка → ожидаются исправления |
comment:2 Changed 5 years ago by
Owner: | changed from Карнаухов Кирилл to Дмитрий Свиридкин |
---|---|
Type: | ожидаются исправления → ожидается проверка |
Version: | 1.0 → 2.0 |
comment:3 Changed 5 years ago by
Owner: | changed from Дмитрий Свиридкин to Карнаухов Кирилл |
---|---|
Type: | ожидается проверка → ожидаются исправления |
Ок. Тесты пройдены.
Операции выделения и освобождения памяти - очень тяжелые. Делать их на каждом уровне рекурсии не самая лучшая затея. Попробуйте обойтись ровно одним выделением памяти.
Вместо обмена значений между буфером и массивом после слияния лучше воспользоваться memcpy.
Еще можно подумать, как обойтись совсем без рекурсии. Но это из разряда бонусных заданий.
comment:4 Changed 5 years ago by
Owner: | changed from Карнаухов Кирилл to Дмитрий Свиридкин |
---|---|
Type: | ожидаются исправления → ожидается проверка |
Version: | 2.0 → 3.0 |
comment:5 Changed 5 years ago by
Resolution: | → задача сдана |
---|---|
Status: | assigned → closed |
Ну что ж вы память-то очищаете не в той функции, в которой выделяли! Эх!
9.8 + 1
Note: See
TracTickets for help on using
tickets.
./lab_04/bin/lab_04 str
src/main.c:63:8: runtime error: variable length array bound evaluates to non-positive value 0
Никогда не используйте VLA. Стек сильно не резиновый.
И зачем вам куда-то копировать строки из аргументов? Отсортируйте их там же!
И лучше разбейте тело main на три отдельных функции.
И советую внимательно почитать описание malloc, что будет при определенных значениях аргументов: https://en.cppreference.com/w/c/memory/malloc.