看了我们教研室大佬写的排序算法总结,深感强悍,敬仰之情如黄河之水,滔滔不绝,此处省略一万字……不能再夸他,因为怕他骄傲,哈哈O(∩_∩)O哈哈~
大佬博客在此镇楼:http://lanxiuwen.com/
刚刚看到代码发现写的C++的,那是否,我也应该学着写一写java的呢?说写就写,现在开始:
some | some |
---|---|
思想 | 遍历数组中最小(最大)元素,将其与第一(最后一个)元素交换位置,直到排完 |
时间复杂度 | 平均情况O(N2),最坏情况O(N2),最好情况O(N2) |
空间复杂度 | O(1) |
稳定性 | 不稳定 |
code
public class SelectSort {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] a={2,7,6,8,4,9,2};
SelectSort select = new SelectSort();
System.out.println("排序之前的顺序是:");
select.show(a);
System.out.println("排序之后的顺序是:");
select.sort(a);
select.show(a);
}
public void sort(int[] a){
for(int i=1;i<a.length;i++){
int index=0;
for(int j=1;j<=a.length-i;j++){
if(a[j]>a[index]){
index = j;
}
int temp = a[a.length-i];
a[a.length-i] = a[index];
a[index] = temp;
}
}
}
public void show(int[] a){
for(int k:a){
System.out.print(" "+k);
}
System.out.println();
}
}
网友评论