美文网首页
选择排序

选择排序

作者: 水表学Java | 来源:发表于2018-09-16 16:25 被阅读0次

    选择排序,从左到右依次找出最小的数值,从所有记录中选出最小的一个数据元素与第一个位置的记录交换;然后在剩下的记录当中再找最小的与第二个位置的记录交换,循环到只剩下最后一个数据元素为止

    public static void selectSort(int[] numbers){
            for(int i=0;i<numbers.length;i++)
            {
                for(int j=i+1;j<numbers.length;j++)
                {
                    int left=numbers[i];
                    int right=numbers[j];
                    if(left>right)
                    {
                        int temp=left;
                        numbers[i]=right;
                        numbers[j]=temp;
                    }
                }
            }
    }
    

    以下这种性能高点

    public static void selectSort(int[] numbers){
            for(int i=0;i<numbers.length;i++)
            {
                int minIndex=i;
                for(int j=i+1;j<numbers.length;j++)
                {
                    int left=numbers[minIndex];
                    int right=numbers[j];
                    if(left>right)
                    {
                        minIndex=j;
                    }
                }
                if(minIndex!=i)
                {
                    int temp=numbers[i];
                    numbers[i]=numbers[minIndex];
                    numbers[minIndex]=temp;
                }
                for(int n:numbers)
                {
                    System.out.print(n+",");
                }
                System.out.println("");
            }
    }
    

    相关文章

      网友评论

          本文标题:选择排序

          本文链接:https://www.haomeiwen.com/subject/xnqfnftx.html