用C++输出一个从一到十打乱顺序的数组查找数组中的最大数据,并将其放在数组最前面,即0号单元;
时间: 2024-03-09 21:44:59 浏览: 49
好的,以下是用C++实现的示例代码:
```cpp
#include <iostream>
using namespace std;
int findMax(int arr[], int len) {
int maxIndex = 0;
for (int i = 1; i < len; i++) {
if (arr[i] > arr[maxIndex]) {
maxIndex = i;
}
}
return maxIndex;
}
void moveMaxToFront(int arr[], int len) {
int maxIndex = findMax(arr, len);
swap(arr[0], arr[maxIndex]);
}
int main() {
int arr[] = {3, 5, 1, 2, 7, 9, 4, 6, 8, 10};
int len = sizeof(arr) / sizeof(arr[0]);
cout << "Before move: ";
for (int i = 0; i < len; i++) {
cout << arr[i] << " ";
}
cout << endl;
moveMaxToFront(arr, len);
cout << "After move: ";
for (int i = 0; i < len; i++) {
cout << arr[i] << " ";
}
cout << endl;
return 0;
}
```
输出结果为:
```
Before move: 3 5 1 2 7 9 4 6 8 10
After move: 10 5 1 2 7 9 4 6 8 3
```
以上代码中,`findMax` 函数用于找到数组中最大元素的索引,`moveMaxToFront` 函数则是将最大元素移动到数组的第一个位置。主函数则是用于测试代码。
阅读全文