您的位置:首页 > 其它

蛮力法之选择排序(C实现)

2015-11-04 13:36 316 查看
#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;
}

运行效果图

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: