输入n个有序的数据并存入某一维数组中,求该数组的中位数(中位数是指排列在有序数组中间的那个数,如果数据个数为偶数,则中位数等于中间那两个元素的平均值)。
时间: 2024-05-16 10:12:56 浏览: 147
指针作为函数参数例-数组指针与字符串
首先,我们可以对数据进行排序,然后根据数组长度的奇偶性来确定中位数的位置。
如果数组长度为奇数,中位数的位置就是数组下标为 $\frac{n}{2}$ 的元素。
如果数组长度为偶数,中位数的位置就是数组下标为 $\frac{n}{2}-1$ 和 $\frac{n}{2}$ 的两个元素。
以下是一个示例代码实现:
```python
def find_median(arr):
arr.sort()
n = len(arr)
if n % 2 == 0:
median = (arr[n//2-1] + arr[n//2]) / 2
else:
median = arr[n//2]
return median
```
这个函数接受一个有序数组作为参数,首先对数组进行排序,然后根据数组长度的奇偶性来计算中位数的值并返回。
阅读全文