Opened 5 years ago
Closed 5 years ago
#392 closed ожидаются исправления (задача сдана)
WW #4
Reported by: | Никита Усольцев | Owned by: | Никита Усольцев |
---|---|---|---|
Component: | WW_mergesort | Version: | 3.0 |
Keywords: | Cc: |
Description
Change History (4)
comment:1 Changed 5 years ago by
Owner: | changed from Egor Suvorov to Никита Усольцев |
---|---|
Type: | ожидается проверка → ожидаются исправления |
comment:2 Changed 5 years ago by
Owner: | changed from Никита Усольцев to Egor Suvorov |
---|---|
Type: | ожидаются исправления → ожидается проверка |
Version: | 2.0 → 3.0 |
comment:3 Changed 5 years ago by
Owner: | changed from Egor Suvorov to Никита Усольцев |
---|---|
Type: | ожидается проверка → ожидаются исправления |
Корректность 6/7:
memcpy
- это хорошо, но задание требует самостоятельного копирования всех элементов. Реализуйте руками.
Стиль 2/3:
- Разбирайте
argc - 2
одним ифом в начале, а не в каждом отдельном случае. - Лучше напишите вывод элементов через пробел в цикле
for
- Не
strcmp() == 0
, а!strcmp()
. - Пробелы между
if
и(
. temp
-->out
.- Лучше
elements / 2
передавать вmerge
изmergesort
(типа "количество элементов слева"), чтобы не дублировались вычисления и можно было менять округления в одном месте. - Лучше инициализировать переменные в
merge
в порядке:middle
,last
,left
,right
,out
. merge
можно написать в один циклfor
и одинif
внутри: делаете цикл по выходному массиву, а внутри ифом выбираете, откуда брать очередной элемент.
Очень красивый merge
чисто на указателях, +1 балл бонусом за стиль.
comment:4 Changed 5 years ago by
Resolution: | → задача сдана |
---|---|
Status: | assigned → closed |
Вроде так и осталось.
Захотите дорешать — переоткрывайте тикет.
Note: See
TracTickets for help on using
tickets.
Корректность:
merge
не нужен за пределамиmergesort.c
=> его не должно быть вmergesort.h
memcpy
— это хорошо, но в задании надо самостоятельно копировать все байты.По стилю:
void*
— это расширение GCC, избавьтесь.#pragma once
, либо через#ifndef
— выберите что-то одно.UNTITLED1
— лишнее.main
веткуelse
сassert(!"Unknown type to sort")
— если нам передали неизвестный тип, надо об этом громко сообщить, обрушивassert
.snake_case
.A
— слишком короткое название для такой важной переменной, лучшеarr
.merge
: названияr
иRight
путаются.merge
: оставьте только один цикл и одинif
.merge
: многовато переменных. Наверняка половину можно выкинуть.