-
一:选择排序原理:
将要排序的数据元素选出最小(大),将他和数据元素的首位交换位置。再次从剩下的数据元素中 找到最小(大)的元素,然后与数据元素的第二位子交换。。。直到将整个数据元素排序。
总之他在不断选择剩余元素的最小值,然后放在恰当的位置。 -
二:选择排序的特点:
1.运行时间和输入无关。为了找出最小的元素,遍历整个数组并不能为下一次遍历提供信息。这样的缺点是:一个有序的数组与一个随机数组所用的排序时间相同。
2.数据移动最少。
每次交换都会改变两个元素的值,因此数组多大,就几次数据移动。
-
三:代码描述(java实现):
public static void sort(int[] a){
int N=a.length;
for(int i=0;i<N;i++){
int min=i;
for(int j=i+1;j<N;j++){
if(a[j]<a[min]){
min=j;
}
}
int temp=a[i];
a[i]=a[min];
a[min]=temp;
}
}
内循环为找到当前序列的最小元素。然后最小元素与相应的位置的元素交换位置。每次交换能确定一个元素的位置,所以总交换次数为N.所以算法的时间效率取决于比较次数N*(N-1)/2
继续阅读与本文标签相同的文章
下一篇 :
竞备赛愈发火爆!大众集团宣布组建自动驾驶子公司
-
以实践的方式讨论:N-Gram原理与其应用
2026-05-18栏目: 教程
-
Hi拼团,第六代云服务器拼团购买更便宜,低至148元/年
2026-05-18栏目: 教程
-
汇编(五)栈、CPU提供的栈机制、push、pop指令
2026-05-18栏目: 教程
-
为什么绝大部分公司用钉钉上班不用微信,其实原因很简单
2026-05-18栏目: 教程
-
谷歌证实Pixel 4不支持Daydream,VR头显盒子也将停售
2026-05-18栏目: 教程
