一、选择排序——最差的排序算法
在选择排序中,假定我们需要升序,因此在每次排序中,需要找到最大的元素,将其放在最后,在每一次的循环中,都是将最大的元素放在最后,因此对于数据较多的数组,循环的次数将与数组中元素的个数一致,因此,在对于这种数组进行排序时,将十分的浪费时间。
有关选择排序的思路,如下所示:
(一)方式一,默认数组中最后一个元素最大,如下图所示:
代码如下所示:
void SelectSort(int *array, int size)
{
assert(array || size < 0);
int i = 0;
int j = 0;
int maxPos = 0;
for (; i < size - 1; ++i)
{
maxPos = size - i - 1;//记录最大的元素,默认最后一个元素最大
for (j = 0; j < size - i; ++j)
{
//找到最大的元素
if (