数据结构-十大经典排序算法之选择排序

   日期:2020-05-17     浏览:177    评论:0    
核心提示:数据结构-十大经典排序算法之选择排序算法思想算法步骤算法动态演示部分代码实现第一部分:算法思想选择排序是一种简单直观的排序算法,首先在未排序序列中找到最小元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。**第二部分:**算法步骤初始状态:无序序列为R[0,n-1],长度n,有序区为空;第i=1,…,n-1趟排序从当前无序区R[i-1,n-1]中选出最小的元素R[k],并将它与无序区的第1个记录R[i数据结构与算法

数据结构-十大经典排序算法之选择排序

  • 算法思想
  • 算法步骤
  • 算法动态演示
  • 部分代码实现

第一部分:算法思想
选择排序是一种简单直观的排序算法,首先在未排序序列中找到最小元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。
**第二部分:**算法步骤
初始状态:无序序列为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;
		}
	}
    
}
  • 看到这了,如果觉得有用的话动动手指点个赞吧,下期带来“数据结构-十大经典排序算法之插入排序”。
 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
更多>相关资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服