选择排序实现是每趟将循环的一一个数据与后面的数据相比较,得到最小元素,存储在循环开始出,然后接着重复执行。
实现:
public class Test{
public static void main(String[] args){
int[] data = {1,4,-4,2,7,6,-7,3,9,0};
selectSort(data);
for(int i=0;i<data.length;i++){
System.out.print(data[i]+" ");
}
}
private static void selectSort(int[] data){
for(int i=0;i<data.length;i++){
for(int j=i+1;j<data.length;j++){
if(data[i]>data[j])
swap(data,i,j);
}
}
}
private static void swap(int[] data,int x,int y){
int temp = data[x];
data[x] = data[y];
data[y] = temp;
}
}
选择排序最差、平均时间复杂度都是O(N²)