c++写一个冒泡排序(多函数),调用函数 用来寻找最值角标,
时间: 2023-06-13 13:08:13 浏览: 110
c++的冒泡排序程序
以下是使用多个函数实现冒泡排序,并寻找最值角标的C++代码示例:
```c++
#include <iostream>
using namespace std;
// 寻找最大值的函数
int findMax(int arr[], int size) {
int maxIndex = 0;
for (int i = 1; i < size; i++) {
if (arr[i] > arr[maxIndex]) {
maxIndex = i;
}
}
return maxIndex;
}
// 寻找最小值的函数
int findMin(int arr[], int size) {
int minIndex = 0;
for (int i = 1; i < size; i++) {
if (arr[i] < arr[minIndex]) {
minIndex = i;
}
}
return minIndex;
}
// 冒泡排序函数
void bubbleSort(int arr[], int size) {
for (int i = 0; i < size - 1; i++) {
for (int j = 0; j < size - i - 1; j++) {
if (arr[j] > arr[j+1]) {
// 交换位置
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
int main() {
int arr[] = {5, 2, 8, 4, 9, 1, 6, 3, 7};
int size = sizeof(arr) / sizeof(arr[0]);
// 查找最大值和最小值
int maxIndex = findMax(arr, size);
int minIndex = findMin(arr, size);
cout << "最大值的角标为:" << maxIndex << endl;
cout << "最小值的角标为:" << minIndex << endl;
// 冒泡排序
bubbleSort(arr, size);
// 输出排序结果
cout << "排序后的结果为:";
for (int i = 0; i < size; i++) {
cout << arr[i] << " ";
}
cout << endl;
return 0;
}
```
运行结果:
```
最大值的角标为:4
最小值的角标为:5
排序后的结果为:1 2 3 4 5 6 7 8 9
```
在上述代码中,我们定义了三个函数:`findMax()` 用于寻找最大值的角标,`findMin()` 用于寻找最小值的角标,以及 `bubbleSort()` 函数用于进行冒泡排序。在 `main()` 函数中,我们先调用了 `findMax()` 和 `findMin()` 函数,分别寻找最大值和最小值的角标,并输出结果。然后,我们调用 `bubbleSort()` 函数对数组进行冒泡排序,并输出排序结果。
阅读全文