|
6驿站币
1、编写函数 int* func_sort_ascend(int* p, int n, float& mid),其中p是长度为n的数组的指针(n>0)
函数目标:将p指向的数组按照升序排列,返回排序后的新数组指针,并将数组的中位数通过形参mid返回
2、编写函数 float& func_sort_descend(int* p, int n , int *q),是长度为n的数组的指针(n>0)
函数目标:将p指向的数组按照降序排列,返回数组的中位数的引用,并将排序后的新数组通过形参q返回
我来交个作业,哈哈!
- int* func_sort_ascend(int* p, int n, float& mid)
- {
- for (int i = 0; i < n - 1; ++i)
- {
- for (int j = 0; j < n - 1 - i; ++j)
- {
- if (p[j] > p[j + 1])
- {
- int m = p[j];
- p[j] = p[j + 1];
- p[j + 1] = m;
- }
- }
- }
- if (n % 2 == 0)
- {
- int idx = n / 2;
- mid = (p[idx] + p[idx - 1]) / 2;
- }
- else
- {
- int idx = n / 2;
- mid = p[idx];
- }
- return p;
- }
复制代码
第二题貌似有点问题,返回中位数的引用,如果 n 是偶数的话,中位数就是数组 p 中两个数的平均值,这时候没办法返回引用啊?
|
最佳答案
查看完整内容
我来交个作业,哈哈!
第二题貌似有点问题,返回中位数的引用,如果 n 是偶数的话,中位数就是数组 p 中两个数的平均值,这时候没办法返回引用啊?
上一篇: 关于CoInitializeEx的疑问下一篇: 遍历出的文件名为什么不能输出
|