完善void bubblesoet(int* arr,int len)
时间: 2023-04-02 10:00:28 浏览: 62
我可以回答这个问题。完善void bubblesort(int* arr,int len)是指完善一个冒泡排序算法,该算法可以对一个整型数组进行排序。具体实现方法是,从数组的第一个元素开始,比较相邻的两个元素,如果前一个元素大于后一个元素,则交换它们的位置。这样一轮比较下来,最大的元素就会被排到数组的最后一个位置。然后再从第一个元素开始,重复这个过程,直到整个数组都被排序好。
相关问题
用void bubblesoet(int* arr,int len)举例
这是一个关于排序算法的问题,我可以回答。这个函数是用来实现冒泡排序的,参数arr是一个整型数组,len是数组的长度。冒泡排序是一种简单的排序算法,它重复地遍历要排序的数组,比较相邻的两个元素,如果它们的顺序错误就交换它们,直到没有任何一对元素需要交换为止。这样,最大的元素就会被排到数组的末尾,然后再对剩下的元素进行同样的操作,直到整个数组都被排序。
去掉最高值,去掉最低值,求平均值 用void Max(const int *arr,int len,int *max){} void Min(const int *arr,int len,int *min){} void Sum(const int *arr,int len,int *sum){} void Avg(int sum,int max,int min,int len,float *avg){} void test03(){ int arr[]={1,2,5,4,3,6,7}; int len =sizeof (arr)/sizeof (int); }
可以使用以下代码实现:
```
#include <iostream>
using namespace std;
void Max(const int *arr, int len, int *max) {
*max = arr[0];
for (int i = 1; i < len; i++) {
if (arr[i] > *max) {
*max = arr[i];
}
}
}
void Min(const int *arr, int len, int *min) {
*min = arr[0];
for (int i = 1; i < len; i++) {
if (arr[i] < *min) {
*min = arr[i];
}
}
}
void Sum(const int *arr, int len, int *sum) {
*sum = 0;
for (int i = 0; i < len; i++) {
*sum += arr[i];
}
}
void Avg(int sum, int max, int min, int len, float *avg) {
*avg = (float)(sum - max - min) / (len - 2);
}
void test03() {
int arr[] = {1, 2, 5, 4, 3, 6, 7};
int len = sizeof(arr) / sizeof(int);
int max, min, sum;
float avg;
Max(arr, len, &max);
Min(arr, len, &min);
Sum(arr, len, &sum);
Avg(sum, max, min, len, &avg);
cout << "Max: " << max << endl;
cout << "Min: " << min << endl;
cout << "Sum: " << sum << endl;
cout << "Avg: " << avg << endl;
}
int main() {
test03();
return 0;
}
```
运行结果为:
```
Max: 7
Min: 2
Sum: 28
Avg: 3.5
```