选择排序:

  在待排的序列中找到最大的数字,将此数字放在已排序列的最后,直到全排完

代码如下:

//选择排序        
void select_sort(int unsort[], int length)
{
    cout<<"选择排序:"<<endl;
    for(int i = 0; i < length; i++)
    {
        int temp = unsort[i];
        int index = i;
        for(int j = i+1; j < length; j++)
        {
            if(temp > unsort[j])
            {
                index = j;
            }
        }
        unsort[i] = unsort[index];
        unsort[index] = temp;

        cout<<""<<i+1<<"趟:";
        for(int k = 0; k < length; k++)
        {
            cout<<unsort[k]<<" ";
        }
        cout<<endl;
    }
}

注意:
  与冒泡排序的区别是冒泡是邻近的两两比较,进行互换位置,而选择排序是每次得到一个最大的与此次序列的第一个进行互换位置

结果如下: