常用算法-选择排序

选择排序

选择算法:第一趟选择出最小值,排在最前边,第N趟选择出剩余最小值拍在第N个
空间复杂度:O(1)
时间复杂度:O(n2)

原理:
从左至右循环,第一次选择索引为0的数字作为基准数字,与剩余数字进行比较,找到最小值与基准数字交换位置,最小值找到,第二次选择索引为1的数字作为基准数字,与剩余数字进行比较,找到第二最小值与索引为1的基准数字交换位置,直至找到所有值
核心代码:
for(i=0;i {
int min = i;
for(j=i+1;j {
if(a[j] < a[min]){ min = j;}
}
swap(a[min],a[i]);
}

你可能感兴趣的:(算法,数据结构)