#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
void swap(int* a, int* b)
{
int tmp = *a;
*a = *b;
*b = tmp;
}
void selectsort(int* a, int n)
{
int begin = 0, end = n - 1;
while (begin < end)
{
int max = begin;
int min = begin;
for (size_t i = begin + 1; i <= end; i++)
{
if (a[i] > a[max])
{
max = i;
}
if (a[i] < a[min])
{
min = i;
}
}
swap(&a[min], &a[begin]);
if (max == begin)
{
max = min;
}
swap(&a[max], &a[end]);
begin++;
end--;
}
}
int main()
{
int a[8] = { 9,1,2,5,7,4,6,3 };
selectsort(a, 6);
for (int i = 0; i < 6; i++)
{
printf("%d", a[i]);
}
return 0;
}
选择排序(带有例子)
于 2024-09-25 17:18:17 首次发布