选择排序的思想及其实现

来源:互联网 发布:平板电脑mac地址查询 编辑:程序博客网 时间:2024/05/29 03:20

http://v.youku.com/v_show/id_XMzMyODk5MDI0.html选择排序视频。
思想就是:数组从第一个元素按照顺序与下一个元素比较,如果下一个元素比这个元素大,就交换元素的位置,接着进行比较,知道比较到最后一个元素。
然后从第二个元素比较,重复。
直接上code

package Sort;public class select {    static int[] data=new int[]{5,9,3,8,7,6,41,555,398,1};    private static void swap(int x,int y)    {        int temp=0;        temp=data[x];        data[x]=data[y];        data[y]=temp;    }    private static void selectsort(int[] data)    {        //外层是到n-1        for(int i=0;i<data.length-1;i++)        {      //内层是到n-1          for(int j=i+1;j<data.length;j++)            {                if(data[j]<data[i])                {                   swap(i,j);                }             }            }    }    //测试    public static void main(String[] args){    System.out.print("原数组:");    for(int i=0;i<data.length;i++)    {        System.out.print(data[i]+" ");    }    System.out.print("后来的数组:");    selectsort(data);    for(int j=0;j<data.length;j++)    {        System.out.print(data[j]+" ");    }}}

我们发现空间复杂为O(1),时间复杂为O(n*2)。

0 0