1. 选择排序的动态图
2. 代码实现
void SelectSort(int arr[] int length)
{
for (int i = 0; i < length - 1; i++)
{
int min = i;
for (int j = i + 1; j < length; j++)
{
if (arr[min] > arr[j])
{
min = j;
}
}
if (min != i)
{
swap(&arr[min], &arr[i]);
}
}
}
3. 和冒泡算法的区别
关于冒泡法,他的主循环是走N-1(N是总个数)趟,每一趟进行连续的前后前后往复的比较,然后每次决出一个。
而选择法,他的主循环同样也是走N-1趟,但是他的方式是抓住一个位置(关注点是位置)上的元素不放,然后与其他余下待比较的全部进行比较,交换的话也是换到前面所说的那个固定位置上来的,直至一趟比较完成,决出一个。