选择排序

找到数组中的最小元素,然后将它与数组的第一个元素交换位置。然后再从剩下的元素中找到最小的元素,将它与数组的第二个元素交换位置。不断进行这样的操作,直到将整个数组排序。


class Selection
{
public:
    vector<int>& sort(vector<int>& array)
    {
        int len = array.size();
        for (int i = 0; i < len; i++)
        {
            int minindex = i;
            //遍历寻找最小元素
            for (int j = i + 1; j < len; j++)
            {
                if (array[j] < array[minindex])
                {
                    minindex = j;
                }
            }
            //交换 第 i 个元素和其后部分的最小元素
            int t = array[i];
            array[i] = array[minindex];
            array[minindex] = t;
        }
        return array;
    }
};