数据结构-十大经典排序算法之选择排序
- 算法思想
- 算法步骤
- 算法动态演示
- 部分代码实现
第一部分:算法思想
选择排序是一种简单直观的排序算法,首先在未排序序列中找到最小元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。
**第二部分:**算法步骤
初始状态:无序序列为R[0,n-1],长度n,有序区为空;
第i=1,…,n-1趟排序从当前无序区R[i-1,n-1]中选出最小的元素R[k],并将它与无序区的第1个记录R[i-1]交换,则R[0,i-1]变为元素个数增加1的新有序区,R[i,n-1]变为元素个数减少1的新无序区;n-1趟选择交换后结束。
**第三部分:**算法动态演示
**第四部分:**部分代码实现
void sort_array(int *arr, int n)
// 编程实现《选择排序算法》:将乱序序列arr转化为升序序列
// 函数参数:乱序整数数组(无重复元素) 数组长度
{
int min ;
for(int i = 0 ;i<n-1;i++){
min = i ;
for(int j = i+1;j<n;j++){
if(arr[j]<arr[min])
min = j;
}
if(min!=i){
int temp = arr[i];
arr[i] = arr[min] ;
arr[min] = temp;
}
}
}
- 看到这了,如果觉得有用的话动动手指点个赞吧,下期带来“数据结构-十大经典排序算法之插入排序”。