#include <stdio.h>
void DataSwap(int* data1, int* data2)
{
int temp = *data1;
*data1 = *data2;
*data2 = temp;
}
void SelectionSort(int* pDataArray, int iDataNum)
{
int i, j;
for (i = 0; i < iDataNum - 1; i++) //从第一个位置开始
{
int index = i;
for (j = i + 1; j < iDataNum; j++) //寻找最小的数据索引
if (pDataArray[j] < pDataArray[index])
index = j;
if (index != i) //如果最小数位置变化则交换
DataSwap(&pDataArray[index], &pDataArray[i]);
}
}
int main() {
int i, a[100];
srand(time(0));
for ( i = 1; i < 101; ++i ){
a[i-1] = rand() % 1001;
printf( "%3d ", a[i-1] );
if(i%15==0) printf("\n");
}
printf("\n\n");
SelectionSort(a, 100);
for ( i = 1; i < 101; ++i ){
printf( "%3d ", a[i-1] );
if(i%15==0) printf("\n");
}
getch();
return 0;
}
运行效果图