选择排序
1.算法原理
首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。
选择排序是不稳定的排序方法。
2.时间复杂度
无论什么数据进去都是O( n 2 n^2 n2)的时间复杂度
3.空间复杂度
不占用额外的内存空间
4.Java实现
public class SlectSort {
public static void main(String[] args) {
int array[] = {89,45,68,90,29,34,17};
//打印初始
System.out.println("初始:");
for(int i=0;i < array.length;i++) {
if(i<array.length-1)
System.out.print(array[i]+" ");
else
System.out.println(array[i]);
}
//算法
for(int i=0;i<array.length;i++) {
int times = 1;
int minindex=i;
for(int j=i;j<array.length;j++) {
if(array[j]<array[minindex]) {
minindex = j;
}
}
if(minindex!=i) {
int temp = array[i];
array[i]=array[minindex];
array[minindex] = temp;
}
//打印过程
System.out.print("过程:");
for(int k=0;k < array.length;k++) {
System.out.print(array[k]+" ");
if(k==array.length-1) {
System.out.println("");
}
}
times++;
}
//打印结果
System.out.println("结果:");
for(int i=0;i < array.length;i++) {
System.out.println("sort"+array[i]);
}
}
}