这可能是一个愚蠢的问题. 然而,我对分类有点困惑 在这里,我将第一个元素与所有元素进行比较,然后用更大的交换. 然后选择第二个元素,与下一个元素相比,然后用更大的交换 这就是选择排序.你可以知道,因为在迭代i的外部循环之后,数组的所有元素都在他们的最终位置.唯一的不标准的一点是,在每次发现一个更小的元素时,主动元素被交换;在“经典的”中,这不是这样的例子吗?选择排序,但在实际实现中是常见的(特别是在嵌入式系统中).

提问

这可能是一个愚蠢的问题。 然而,我对分类有点困惑 在这里,我将第一个元素与所有元素进行比较,然后用更大的交换。 然后选择第二个元素,与下一个元素相比,然后用更大的交换 这就是选择排序。你可以知道,因为在迭代i的外部循环之后,数组的所有元素都在他们的最终位置。唯一的不标准的一点是,在每次发现一个更小的元素时,主动元素被交换;在“经典的”中,这不是这样的例子吗?选择排序,但在实际实现中是常见的(特别是在嵌入式系统中)。

class Sort{
     public static void main(String[] arg)
     {
         System.out.println("Sort");
         int[] unsorted = {2,5,2,5,3,3,6,2,7,3,1,84,3};
         for(int i=0;i<unsorted.length;i++)
         {
            for(int j=i;j<unsorted.length;j++)
            {
                if(unsorted[i] > unsorted[j])
                {
                    swap(unsorted,i,j);
                }
            }      
         }
        System.out.println(Arrays.toString(unsorted));
     }
    public static void swap(int[] arr,int i,int j)
    {
        int tmp = arr[i];
        arr[i]=arr[j];
        arr[j]=tmp;
    }
 }
回答

▼版权说明

相关文章也很精彩
推荐内容
更多标签
相关热门
全站排行
随便看看

错说cuoshuo.com——程序员的报错记录

部分内容根据CC版权协议转载,如果您希望取消转载请发送邮件到cuoshuo8@163.com

辽ICP备19011660号-5