c语言中位数怎么求,C计算中位数参考
我试着计算一个叫做中位数的矢量的中位数:
std::nth_element(median.begin(), median.begin() + median.size() / 2, median.end());
medianVal = median[median.size() / 2];
cout << "The median is " << medianVal << endl;
这很好用.但我需要在其原始向量中获得中值的位置.我怎么能这么快做到这一点?
解决方法:
我假设你不想重新订购原始容器.如果错了,有更简单的方法.
nth_element采用比较器.
所以首先在原始容器中创建一个迭代器向量,然后编写一个带有2个迭代器的比较器,对它们进行deference,amd比较结果.
template
auto median(C const& c){
using std::begin; using std::end;
auto start = begin(c);
auto finish = end(c);
using iterator = decltype(start);
std::vector working;
for(auto it = start; it != finish; ++it)
working.push_back(it);
if (working.empty())
return start;
std::nth_element(
begin(working), begin(working) + working.size() / 2, end(working),
[](iterator lhs, iterator rhs){
return *lhs < *rhs;
}
);
return *(begin(working) + working.size() / 2);
}
这确实依赖于一些C 14(自动返回类型推导),但是每个主要的编译器(可能除了icc?)现在都支持它.
它足够灵活,甚至可以处理C风格的数组,我认为它甚至适用于哨兵.
标签:median,c
来源: https://codeday.me/bug/20190727/1556041.html
c语言中位数怎么求,C计算中位数参考相关推荐
- 大数据中位数怎么运算_java 计算中位数的实现方法
最近工作需要 要求把python的代码写成java版本,python中有一个np.median()求中位数的方法,java决定手写一个 先说说什么是中位数: 中位数就是中间的那个数, 如果一个集合是奇 ...
- c语言输入坐标求距离,计算两个经纬度之间距离的C语言代码
// // main.c // Distance // // #include #include #define PI 3.1415926 #define EARTH_RADIUS 6378.137 ...
- c语言加减乘除计算程序,求一个计算加减乘除的C语言程序
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include int getOption (void); void getData (int* num1, int* num2); ...
- java中求中位数_java 计算中位数的实现方法
最近工作需要 要求把python的代码写成java版本,python中有一个np.median()求中位数的方法,java决定手写一个 先说说什么是中位数: 中位数就是中间的那个数, 如果一个集合是奇 ...
- R语言dplyr包summarise_at函数计算dataframe数据中多个数据列(通过向量指定)的计数个数、均值和中位数、使用funs函数指定函数列表
R语言dplyr包summarise_at函数计算dataframe数据中多个数据列(通过向量指定)的计数个数.均值和中位数.使用funs函数指定函数列表 目录
- R语言dplyr包summarise_at函数计算dataframe数据中多个数据列(通过向量指定)的计数个数、均值和中位数、使用list函数指定函数列表并指定自定义函数名称
R语言dplyr包summarise_at函数计算dataframe数据中多个数据列(通过向量指定)的计数个数.均值和中位数.使用list函数指定函数列表并指定自定义函数名称 目录
- R语言dplyr包summarise_all函数计算dataframe数据中所有数值数据列的均值和中位数、使用sapply筛选数值数据列(Summarize all Numeric Variables
R语言dplyr包summarise_all函数计算dataframe数据中所有数值数据列的均值和中位数.使用sapply筛选数值数据列(Summarize all Numeric Variables ...
- R语言dplyr包summarise_if函数计算dataframe数据中所有数值数据列的均值和中位数、基于条件进行数据汇总分析(Summarize all Numeric Variables)
R语言dplyr包summarise_if函数计算dataframe数据中所有数值数据列的均值和中位数.基于条件进行数据汇总分析(Summarize all Numeric Variables) 目录
- R语言dplyr包summarise_at函数计算dataframe数据中多个数据列(通过向量指定)的均值和中位数、指定na.rm参数配置删除缺失值
R语言dplyr包summarise_at函数计算dataframe数据中多个数据列(通过向量指定)的均值和中位数.指定na.rm参数配置删除缺失值(Summarize with Custom Fun ...
最新文章
- string数组怎么定义
- 认识计算机硬件观评课,观课听课评课评语
- Debian与《玩具总动员》
- 日本奥委会主席否认为争取奥运会主办权行贿
- Silverlight 开发入门1
- Linux中kill,pkill,killall和xkill命令汇总讲解
- [转载]详细解说STL排序(sort)------这篇博文在一道题上救了我o_0
- 665C. Simple Strings
- python基础语言法则_python语言基础3
- 星爷001正式开始写blog啦
- JS设计模式——12.装饰者模式
- Image合并添加文字内容
- python在类内部使用装饰器_python – 如何在类中使用装饰器
- 理解Iass Pass SasS三种云服务区别
- 红米k30pro刷机鸿蒙,红米k30pro最严重缺点_红米k30pro建不建议买
- sql查看mysql表结构_MySQL 查看表结构简单命令
- Secure Multiparty Computation (MPC)
- 弹跳机器人 桌游_「桌游推荐」我的机器人哪有这么厉害
- usnews美国大学计算机科学排名,最新!2019年USNews美国大学计算机专业排名
- The Annotated Diffusion Model(翻译)
热门文章
- H.264官方软件JM源代码简单分析-解码器ldecod(转载)
- N1-AI生成挑战赛#你想不到的猫,快来为你喜欢的作品投票吧!
- 服务器灰度部署和原理
- 树莓派连接电脑(两种方法)
- uniapp的uniapp navigateTo 点击无法跳转的问题
- mavennexus环境搭建
- 每日一篇系列---CSS3实现下雨动效
- Material Design控件使用(一)
- 来了!全球三个首次5G技术实现; 辽宁省完成5G投资36.4亿元; 中兴发布白皮书; 7月国内5G手机出货1391.1万...
- 零基础学习PS——Photoshop的167个技能