当前位置: 代码迷 >> 综合 >> 选择排序原理及java实现
  详细解决方案

选择排序原理及java实现

热度:65   发布时间:2024-02-10 07:07:32.0

原理

迭代数组,每次都取其中最小,与所在位置元素进行交换 

例如 待排序数组为  [3,5,6,7,1,2] 第一轮循环i 为0 ,最小元素为1 将 1和3交换,继续迭代 i 为1 将5与2交换直到得到一个有序的数组。

 

代码实现

public class SelectionSorter{

private int[] a;

//排序方法
public sort(){

for(int i =0;i<a.length;i++){

            int minPos=findMin(i);
swap(minPos,i)
}

    }

//寻找最小下标

        public int findMin(int from){
int minpos = from
for(int i=from,i<a.length,i++){
if(a[minpos]>a[i]){

                    minpos = i;
}

            }
return minpos
}

//交换元素
public void swap(int minPos,int i){
int tmp=a[i];
a[i] = a[minPos];
a[minPos] = tmp

    }


}