我有我的随机数数组代码,并且可以正常工作。我需要以某种方式将我的随机数数组放入冒泡排序中。我知道我需要std:copy,但不确定如何将它们放在一起,并显示两个cout。任何指导都会有所帮助。
AuthenticationContext authenticationContext = new
AuthenticationContext("https://login.microsoftonline.com/<tenantId>");
AuthenticationResult result = await
authenticationContext.AcquireTokenAsync("https://resourceUrl",
clientCredential);
答案 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);
我的语法可能有点落后,但这是一般的处理方式。将其分离并使其具有功能是一种很好的做法。