JAVA常用排序算法之简单选择排序。
常用于取序列最大与最小的几个数时,这是一种不稳定的排序算法。当i=1时,需要进行n-1次比较,当i=2时,需要进行n-2次比较,依次类推,共需要(n-1)+(n-2)+…+2+1=n(n-1)/2次比较,所以时间复杂度是O(N^2),进行移动操作的时间复杂度为O(N)。
算法的步骤是:首先将第一个和后面的所有的数进行比较,将最小的放在前面。然后从第二个开始重复第一个过程,直到最后一数据排列完。
具体的代码如下:
public class Demo5 {
/**
* 常用排序算法之简单选择排序
*/
public static void main(String[] args) {
int min=0;
int[]arr={3,9,89,76,56,108};
for (int i = 0; i < arr.length-1; i++) {
for (int j = i+1; j < arr.length; j++) {
if (arr[j]<arr[i]) {
min=arr[j];
arr[j]=arr[i];
arr[i]=min;
}
}
}
for (int i : arr) {
System.out.print(i+" ");
}
}
}