简介
简单选择排序虽然是选择排序,但它在我眼中却是和冒泡排序的思想极其相似的。它们的差别在于,在for循环中,冒泡排序发现逆序就交换,而简单选择排序是在寻找最小值,到最后再把当前i指向的位置得值和最小值的位置的值进行交换。
步骤
1、利用for循环,让i指向一个位置
2、在i指向的后续位置依次进行比较,寻找到一个最值
代码实现
void SelectSort(RecordType r[],int n){
RecordType t;
for(int i = 1;i<=length-1;i++){
k = i;//记录i的位置
for(int j = i+1;j<=length;j++{
if(r[k]>r[j]){//递增排序
k = j;//记录最小的位置
}
}
//当后面有比r[i]小的值再进行交换
if(k!=i){
t = r[i];
r[i] = r[k];
r[k] = t;
}
}
}