在如何将我的随机数数组连接到冒泡排序方面需要帮助

时间:2018-07-23 15:57:07

标签: c++ arrays

我有我的随机数数组代码,并且可以正常工作。我需要以某种方式将我的随机数数组放入冒泡排序中。我知道我需要std:copy,但不确定如何将它们放在一起,并显示两个cout。任何指导都会有所帮助。

AuthenticationContext authenticationContext = new 
AuthenticationContext("https://login.microsoftonline.com/<tenantId>");
AuthenticationResult result = await 
authenticationContext.AcquireTokenAsync("https://resourceUrl",
                                                    clientCredential);

2 个答案:

答案 0 :(得分:0)

这看起来更像是C代码而不是C ++代码。 C ++向量比数组更容易处理。例如,将numberArray复制到myArray中

int myArray[sizeOfArray];
std::copy(numberArray, numberArray + sizeOfArray, myArray);

如果您使用矢量

auto myVector = numberVector;

我质疑是否需要复制数组。如果只需要显示随机数的结果,则只需在排序之前和之后将其打印出来即可。然后,您可以对现有数组进行排序。

在实用程序标题中,您会找到std :: swap,它将有效地处理一行中的交换。

您的气泡排序无法按原样工作,原因有两个。

您的循环从0到9,即数组的大小。在上一次迭代中,检查myArray [9]> myArray [10]。由于myArray [10]不存在,因此会出现访问冲突。

第二个问题是遍历数组的一个循环不会对它排序。最大值将在数组的末尾,但是最小值仅向下移动了一个点,不一定在开始时。传统的做法是重复循环,直到不再进行交换为止。

如果这不是家庭作业,那么将排序分离到另一个函数中或使用内置排序也很有意义。

答案 1 :(得分:-1)

您可以将Bubble的代码排序为一个函数,该函数将一个数组作为参数并输出一个新数组(这不是最有效的方法,但是因为您既要原始又要排序这是最好的方法)

所以你可以这样做

int bubbleSort(int arr[], int cap){
    // Your code here
}

然后您可以像这样调用函数 sortedRandomArray = bubbleSort(numberArray, sizeOfArray);

我的语法可能有点落后,但这是一般的处理方式。将其分离并使其具有功能是一种很好的做法。