选择排序
作者:互联网
选择排序
算法过程:
算法的过程很简单:
- 假设第一个是最小的,然后去查看数组中N个数的值,把最小的值和目前首位的数通过下标,交换值。
- 然后再在N-1个数中去看,把最小的值交换给目前首位的数(现在是1,第一次是0)
- 依次直至第一轮循环结束(即查看了N-1个数,只剩最后一个已经是最大的了,不用排序了)
其时间复杂度的计算方式:
代码实现:
public class Test_SelectSort {
public static void main(String[] args) {
int a[] = {3,4,1,7,8,12,16,73,33,85,452,421,554,12,34,78,64,9,4,66,42};
SelectSort(a);
for(int i=0;i<a.length-1;i++){
System.out.println(a[i]);
}
}
public static void SelectSort(int[] a){
if(a.length==0||a.length<2){
return;
}
else{
for(int i=0;i<a.length-1;i++){
int MinIndex = i;
for(int j=i;j<a.length-1;j++){
if(a[j]<a[MinIndex]){
MinIndex = j;
}
}
if(MinIndex!=i){
Swap(a,i,MinIndex);
}
}
}
}
public static void Swap(int[] a,int i,int MinIndex){
int temp;
temp = a[i];
a[i] = a[MinIndex];
a[MinIndex] = temp;
}
}
标签:12,SelectSort,int,个数,选择,排序,public 来源: https://www.cnblogs.com/dogeleft/p/15350940.html