我必须实现代码以改进选择类型,如https://www.researchgate.net/publication/272621833_Improved_Selection_Sort_Algorithm中所述。 关于我如何理解排序方式的简短说明: 第一个值始终是当前最大值(降序),其索引将放入一个单独的临时数组中以保持最大值。索引将保留在临时列表中,直到找到一个大于当前最大值的值。如果存在重复项,则这些项的索引也将添加到临时索引列表中。遍历整个列表后,必须将临时列表中剩余的索引与原始列表中的第一个未排序位置交换。然后,第一次迭代完成,该过程一直持续到排序为止。
public void ImprovedSelectionSort(int[] Array)
{
int[] temp = new int[Array.Length];
for (int i = 0; i <= Array.Length; i++)
{
int max = Array[0];
for (int j = 0; j <= Array.Length; j++)
{
if (temp[j] >= max)
max = temp[j]; public static void swap(int[] Array, int x, int y)
}
swap(Array, max, i);
}
public static void swap(int[] Array, int x, int y)
{
int temp = Array[x];
Array[x] = Array[y];
Array[y] = temp;
}
我没有任何结果,因为我错误地实现了代码,并且正在努力了解如何对这种排序方法进行编码。