选择排序:每一趟从待排序序列中选一个按序所需要的记录,放在已排好序的子序列之前或之后,保持有序,这样,有序子序列每次增加一个记录,直到全部记录排完为止。
1、简单选择排序
基本思想:每一趟从待排记录序列中选具有最小关键字值的记录,顺序放在已排好序的子序列后,直到全部记录排完。
步骤:
(1)在第i(i=1,2,3,......,n-1)次挑选步骤中,在记录r[i],r[i+1],r[n]中挑出最小值r
(2)交换r和r[i]。执行完第i步后,前i个记录r[1],r[2],......,r[i]有序。
示例:
初始序列:{
49 27 65 97 76 12 38}
第1趟:12与49交换:12{ 27 65 97 76 49 38}
第2趟:27不动 :12 27{ 65 97 76 49 38}
第3趟:65与38交换:12 27 38{ 97 76 49 65}
第4趟:97与49交换:12 27 38 49{
第1趟:12与49交换:12{ 27 65 97 76 49 38}
第2趟:27不动 :12 27{ 65 97 76 49 38}
第3趟:65与38交换:12 27 38{ 97 76 49 65}
第4趟:97与49交换:12 27 38 49{