Сортировка вставкой Алгоритм не требует нового массива для сортировки.Идея, лежащая в основе сортировки вставкой, состоит в том, чтобы дважды проходить по массиву.
- Первый цикл состоит в том, чтобы проходить по «несортированным» элементам в массиве и выбирать первый «несортированный» элемент.
- Второй цикл заключается в сравнении этого элемента с предыдущими «отсортированными» элементами - если он «меньше», переместите элемент в направлении начала индекса массива и повторяйте его, пока он не будет перемещен.
ВыПосетите эту ссылку , чтобы лучше понять, как она работает.Таким образом, вам может понадобиться функция, которая выполняет функцию сравнения.Что-то вроде ...
bool SmallerDistance(const Tobekt& lhs, const Tobekt& rhs)
{
return lhs.GetDistance() < rhs.GetDistance();
}
Конечно, вам нужно создать функцию получения, чтобы получить расстояние от класса.Кроме того, вы всегда можете создать функцию-член operator<
и сравнить ее с двумя переменными.
PS Не забудьте удалить переменную после new
, иначе у вас будет утечка памяти для вашей программы.