Сортировка выбором (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: Сортировка выбором
Комментариев нет:
Отправить комментарий