选择排序

来源:互联网 发布:苹果6网络知识 编辑:程序博客网 时间:2024/05/22 08:10
每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。选择排序是不稳定的排序方法。时间复杂度O(n^2)

/**
 * 选择排序,比较前后两个元素,比如下标为0和下标为1的比较,下标为1和下标为2的比较,依次类推,当前面元素大于后面元素,则互换位置,
 * 一轮比较完之后,最大元素则排在最末,这样再重复以上步骤,比较前9个元素,一轮比较之后,最大元素又位于最末
 * 重复以上步骤,最后元素按从小到大排列
 * @author maobufan
 *
 */
public class pro28{
public static void main(String[] args){
int[] a = new int[]{31,42,21,40,12,60,81,74,101,93};
for(int i=0;i<10;i++)
for(int j=0;j<a.length-i-1;j++){
System.out.println("a["+j+"],a["+(j+1)+"]比较大小");
if(a[j]>a[j+1]){

int temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
System.out.println("比较大小后的数组");
for(int k=0;k<a.length;k++)
 System.out.print(a[k]+" ");
}

for(int i=0;i<a.length;i++)
 System.out.print(a[i]+" ");
}
}
0 0
原创粉丝点击