选择法—排序(一维数组)
#include<stdio.h>
#include<stdlib.h>
void main()
{
time_t ts;
unsigned int data = time(&ts);
srand(data);
#define N 30
int a[N];
for (int i = 0; i < N; ++i)
{
a[i] = rand() % 200;
printf("%d\n", a[i]);
}
{
printf("\n");
for (int i = 0; i < N; ++i)
{
printf("%d ", a[i]);
}
printf("\n");
}
int kmax = 0;
for (int i = 0; i < N - 1;++i)
{
kmax = i;
for (int j = i + 1; j < N; ++j)
{
if (a[j] > a[kmax])
{
kmax = j;
}
}
if (kmax != i)
{
int temp = a[kmax];
a[kmax] = a[i];
a[i] = temp;
}
{
printf("\n");
for (int i = 0; i < N; ++i)
{
printf("%d ", a[i]);
}
printf("\n");
}
}
system("pause");
}