C++库中是否存在中值函数
Is there a median function in the C++ library?
我正在试图计算C++中一个排序数组的中值,我想知道C++库中是否有一个内置函数可以做到这一点。
不需要使用函数。要找到奇数项目列表的中值,只需执行
cout << sortedArray[size/2];
其中sortedArray是数组,size是数组的大小。对于一个偶数数组,你应该做这样的
cout << (sortedArray[size/2] + sortedArray[(size/2) - 1])/2
换句话说,取n/2元素和n/2-1元素的平均值。
如果不知道大小,则需要循环遍历数组并计算有多少元素。使用小数是无关紧要的,因为数组的大小总是一个整数。
如果知道排序数组的大小,就可以计算其在O(1)中的中值。当大小未知时(是链表还是什么?),在经典计算机上计算中值需要O(n)。
相关文章:
- C++模板来检查友元函数的存在
- C++quit()函数中可能存在作用域问题
- g++ 说函数不存在,即使包含正确的标头
- C++LinkedList问题.数据类型之间存在冲突?没有匹配的构造函数
- 我知道函数调用中存在歧义.有没有办法调用foo()函数
- 根据某个函数是否存在启用模板
- 在 boost::variant 中类 holden 的复制构造函数存在问题
- 未定义的引用(但 nm 表示该函数存在)
- C++ 默认构造函数在移动和复制构造函数存在时不随"using"继承
- template_back和move赋值构造函数存在问题
- 基于方法或自由函数存在的模板构造函数解析
- 强制非类函数存在
- C++11/14:如果函数存在,则对其进行包装
- 递归函数存在out_of_range异常
- 匹配成员函数存在和签名:参数
- 未解析的外部符号错误,即使函数存在char*
- 在Qt创建者中推广QWidget,构造函数存在问题
- Boost MPL:只在(成员)函数存在时调用它
- 使用类而不是结构和构造函数存在问题
- Async_Read函数存在问题