排序 1 --选择排序

来源:互联网 发布:mysql编程培训机构 编辑:程序博客网 时间:2024/06/05 13:22

排序基本原理:给定一组记录,经过第一轮比较后,选出最小的并与第一个记录的位置交换;然后对除第一个记录以外的数字进行比较。
举例:11,1,5,7,8
第一趟:1,11,5,7,8 //1是最小所以和第一个位置的11交换
第二趟:1 ,5 ,11 ,7 ,8 //5是最小和第二个位置11交换
第三趟;1,5,7,11,8 //7是最小和第三个位置交换
第四趟:1,5,7,8,11 //

代码如下:

public class SortTest{    public static void sort(int[] arr){        for(int i=0;i<arr.length;i++){            int temp=arr[i];            int flag=i;            for(int j=i+1;j<arr.length;j++){                if(temp>arr[j]){                    temp=arr[j];                    flag=j;                }            }        }        if(flag!=i){            arr[flag]=arr[i];            arr[i]=temp;        }    }     public static void main(String[] args){        int[] arr={7,5,1,2,6,8,5,3};        sort(arr);        for (int i=0;i<arr.length;i++){            System.out.print(arr[i]+",");        }    }}

时间复杂度 平均时间O(n2)