#include "stdafx.h"
#include <iostream>
#define DATA_SIZE 14
void selectSort(int data[], int iDataSize)
{
int iMinValueIndex = 0;
int iTemp = 0;
int iCompareCount = 0;
int iMoveCount = 0;
for ( int i = 0; i < iDataSize - 1; i++ )
{
iMinValueIndex = i;
for ( int j = i + 1; j < iDataSize; j++ )
{
iCompareCount++;
if ( data[j] < data[iMinValueIndex] )
{
iMinValueIndex = j;
}
}
if ( iMinValueIndex != i )
{
iMoveCount++;
iTemp = data[iMinValueIndex];
data[iMinValueIndex] = data[i];
data[i] = iTemp;
}
}
printf("进行了%d次比较,进行了%d次移动", iCompareCount, iMoveCount);
}
void printResult(int data[], int iDataSize)
{
printf("排序后的结果是:");
for ( int i = 0; i < iDataSize; i++)
{
printf("%d ", data[i]);
}
printf("\n\n");
}
int _tmain(int argc, _TCHAR* argv[])
{
int data[DATA_SIZE] = {3,6,1,4,2,5,9,33,8,1,22,32,11,18};
selectSort(data, DATA_SIZE);
printResult(data, DATA_SIZE);
getchar();
return 0;
}