数组程序中的随机性,数组中的随机性

时间:2015-01-08 17:46:31

标签: c

让我们说'随机性'为了使数组完全排序,数组的数量等于需要执行的交换数。

我想编写一个程序,它将接收一个已排序的输入数组,并且输出将返回一个具有最大随机性的数组'。

请帮忙。

2 个答案:

答案 0 :(得分:3)

取决于您如何定义" swap"。

例如,如果您的数组是[1,2,3,4,5]并且交换必须在相邻数字之间,那么具有最大"随机性的数组"将是反向[5,4,3,2,1]。但是,如果交换可以在任意两个数字之间,那么具有最大"随机性的数组"将是(array length)-1交换排序的任何数组,例如[5,1,4,2,3]

答案 1 :(得分:0)

有许多可能的数组需要最大数量的交换才能排序。例如,取数字1到5。

2,3,4,5,1

5,4,3,2,1

两者都需要五次交换来生成排序数组,因为所有元素都不在位置。