选择排序:每一轮寻找出最小(大)值,完成所有轮数后即完成排序
内层循环:找出本轮最小值对应的下标
外层循环:排序的轮数
//选择排序
void SeleteSort()
{
int arr[10] = {6,3,0,2,7,5,4,9,1,8};
int len = sizeof(arr)/4;
int temp;
int min;
for (j = 0; j < len - 1; j++)
{
min = i;//指定下标min(i)为当前轮的最小下标
for (j = i + 1; j < len; j++)
{
if(arr[min] > arr[j])
{
min = j;
}
}
//将最小值与arr[i]交换
tmp = arr[min];
arr[min] = arr[i];
arr[i] = tmp;//小标i(min)的值为本轮最小值
}
}