【问题标题】:Insertion Sort with a helper method that returns an integer使用返回整数的辅助方法进行插入排序
【发布时间】:2016-10-30 00:58:33
【问题描述】:

我有一个排序方法,旨在使用插入排序对双精度数组进行排序(方法标题如下所示)

public static double[] sort(double[] array)

在这个方法中,我应该使用一个返回整数的辅助方法(方法头如下所示)

private static int shift(double[] array, int index, double value)

如果辅助方法只是移动数组中的元素,为什么它会返回一个整数而不是 void?

【问题讨论】:

  • 您应该尝试了解插入排序是如何实现的,以及为什么要使用shift 操作。可能的结果是什么?
  • 我了解插入排序是如何实现的,也知道为什么进行移位操作很有用。但在我看来, shift 方法应该是无效的,因为我们只是在移动数组中的元素。我们返回一个整数是为了什么?
  • 你怎么知道它是否有效?
  • 一个随机大小的数组用 0 到 1 的随机双精度数填充,不包括 1。然后按升序排序和打印。
  • 我了解您的家庭作业。由于您没有提供shift 函数的任何描述,因此可以通过多种不同的方式来实现它。几乎所有这些都需要某种操作结果的指示(如果有的话)。

标签: java sorting insertion-sort


【解决方案1】:

shift 方法将数组左侧所有大于“值”(与数组中其余元素进行比较的元素)的元素向右移动一个位置,并返回正确的位置为一个整数。

【讨论】:

    猜你喜欢
    • 2019-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-11
    • 2022-11-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多