十进制的中位数是多少?
What is the median value is decimal?
我正在编写一个程序来查找CPP中数组的中位数。我不确定我是否对中位数有一个清晰的概念。据我所知,我已经编写了我的程序来查找中位数,但是当数组为偶数时,我很困惑是否应该打印从数组中除以中间两个元素时获得的十进制输出的上限或基值。
using namespace std;
void findMedian(int sortedArray[], int N);
int main()
{
int ip[4] = {1, 2, 5, 8};
findMedian(ip, 4);
}
void findMedian(int sortedArray[], int N)
{
int size = N;
int median;
if ((size % 2) != 0)
{
median = sortedArray[(size / 2)];
}
else
{
median = (sortedArray[(size / 2) - 1] + sortedArray[size / 2]) / 2;
}
cout << median;
}
提前感谢,如果有人能给出找到中位数的字面目的,我将不胜感激,当我必须处理中位数时,它会帮助我不再问这个问题。 请原谅我的英语。
在奇数组上,中位数是唯一的,但在偶数组中有两个中位数:下中位数(位于 (n/2( 位置的中位数(和上中位数(位于 (n/2+1( 位置的中位数(。我通常总是看到较低的中位数被用作偶数组的"中位数"。
在这种情况下,对于偶数组和奇数组,您只需要一个公式:
medianPosition = n/2; // integer division
median = sortedArray[medianPosition];
请注意,它仅适用于索引以零开头的数组(如 C/C++(。
相关文章:
- 在 1.5 秒内找到 3 到 4 个不同整数的中位数超过 2000 万
- 十进制的中位数是多少?
- 如何使用第一个、中间和最后一个元素的中位数正确分区?
- 使用 boost::累加器::统计来查找数组的中位数
- 从向量中提取最小值、最大值和中位数的最有效方法是什么
- 如果方法是常量,如何找到向量的中位数?
- 在C++中实现两个大小相等的排序数组的中位数
- 查找一组循环数据的中位数
- 为什么我的中位数快速选择算法segfault
- 是否可以实施中位数的中位数intreselect而没有掉期或堆的分配
- 两个分类阵列的中位数不同
- C++平均值和中位数绝对偏差返回相同的奇怪符号
- 通过 uva 的中位数程序
- 找到二叉搜索树的中位数,C++
- 双向链表的中位数
- 通过 C 加加号中的函数查找中位数
- C++:平均中位数和众数
- 返回带有 void 函数的排序数组以查找中位数
- 使用计数选择 (C++) 运行中位数算法
- 运行常量大小数组的中位数