Это часть серии «Алгоритмы написания на Objective-C».
Сортировка слиянием — один из самых важных алгоритмов сортировки по принципу «разделяй и властвуй» в мире.
Я реализовал на Objective-C и опубликовал код в gist, так как github лучше поддерживает подсветку синтаксиса языка кодирования.
Несколько уроков, которые я извлек из реализации этого алгоритма в Obj-C, также я перечислил их в своем комментарии к коду. Но я думаю, что они очень важны, и я хотел бы также перечислить их здесь:
- Objective-C похож на язык C, он передает по значению, а не по ссылке, даже передает адрес указателя, это все еще значение. Вы не можете назначить ему новый адрес.
- [[NSMutableArray alloc] initWithCapacity:count]; создаст пустой изменяемый массив, в котором ничего нет. Вы можете либо добавить к нему Object:, либо установить первый беззнаковый индекс для объекта. Например, если вы просто отправляете сообщение «initWithCapacity:», это пустой изменяемый массив, вы можете addObject: добавить объект в массив, и его индекс равен 0. Или вы можете просто присвоить объекту 0-й индекс. В данный момент вы не можете присвоить объект другому индексу. Например, вы не могли назначить 1-й индекс с объектом, иначе при его запуске появится ошибка времени выполнения.
Первоначально опубликовано на blog.antonio081014.com.