Сортировка выбором (Selection sort) — алгоритм сортировки. На массиве из n элементов имеет время выполнения в худшем, среднем и лучшем случае Θ(n2), предполагая что сравнения делаются за постоянное время.
Шаги алгоритма:
- находим номер минимального значения в текущем списке
- (только в устойчивых реализациях) если значения элементов неравны, то
- производим обмен этого значения со значением первой не отсортированной позиции
- теперь сортируем хвост списка, исключив из рассмотрения уже отсортированные элементы
int* SelectSort(int* Array, int SizeArray) { int i=0; int j=0; int tmp=0; for(i=0; i<SizeArray-1; i++) { int min=i; for(j=i+1; j<SizeArray; j++) { if(Array[min]<Array[j]) { min=j; } } if(Array[min]!=Array[i]) { tmp=Array[i]; Array[i]=Array[min]; Array[min]=tmp; } } return Array; }
Wiki: Сортировка выбором
Комментариев нет:
Отправить комментарий