简单选择排序(simple selection sort)的基本思想:
第一次选择所有数组元素中最小的放到第一个位置,第二次从剩下的n-1个元素中选择最小的放到第二个位置,以此类推,直到剩下一个元素,放到最后的位置上。
基本步骤:
(1)首先通过n-1次比较,从n个数组元素中找出最小的,将它与a[0]交换——第1趟选择排序,结果最小的数被安置在a[0]位置上。
(2)再通过n-2次比较,从剩下的n-1个数组元素中找出次小的,将它与a[1]交换——第二趟选择排序,结果次小的放在a[1]的位置上。
(3)重复上述过程,共经过n-1次排序后,排序结束。
代码:
#include <iostream> using namespace std;int main() {int a[8]={40,58,12,33,90,20,80,65};int k,t;for(int i=0;i<7;i++){k=i;for(int j=i+1;j<8;j++)if(a[j]<a[k])k=j;if(k != i){t = a[k];a[k] = a[i];a[i] = t;}}for(int i=0;i<8;i++)cout<<a[i]<<endl;}