文件Median.h
#include <list>
class CMedian
{
public:
explicit CMedian();
virtual ~CMedian();
void getMedian(float& NumberOfMedian); std::list<float> array;
};
文件Median.cpp
#include "Median.h" CMedian::CMedian()
{
} CMedian::~CMedian()
{
} void CMedian::getMedian(float& NumberOfMedian)
{
array.sort();
int n = array.size();
std::list<float>::iterator itr = array.begin();
for(int i = 0;i < n/2; ++i)
itr++;
if(0 == n % 2)
{
NumberOfMedian = (*itr + *(--itr)) / 2;
}
else
{
NumberOfMedian = *itr;
}
}
文件:main.cpp
#include "Median.h"
#include <vector>
#include <iostream> int _tmain(int argc, _TCHAR* argv[])
{
float a[4] = {3,1,9,5};
float b[4] = {8,-1,6,3};
float c[4] = {1,2,4,0};
CMedian *array1 = new CMedian();
CMedian *array2 = new CMedian();
CMedian *array3 = new CMedian();
CMedian *sumArray = new CMedian();
for(int i = 0; i < 4;i++)
{
array1->array.push_back(a[i]);
}
for(int i = 0; i < 4;i++)
{
array2->array.push_back(b[i]);
}
for(int i = 0; i < 4;i++)
{
array3->array.push_back(c[i]);
} float NumberOfMedian1 = 0;
float NumberOfMedian2 = 0;
float NumberOfMedian3 = 0;
array1->getMedian(NumberOfMedian1);
array2->getMedian(NumberOfMedian2);
array3->getMedian(NumberOfMedian3); std::cout<<NumberOfMedian1<<std::endl;
std::cout<<NumberOfMedian2<<std::endl;
std::cout<<NumberOfMedian3<<std::endl; sumArray->array.push_back(NumberOfMedian1);
sumArray->array.push_back(NumberOfMedian2);
sumArray->array.push_back(NumberOfMedian3); float finalMedian = 0;
sumArray->getMedian(finalMedian);
std::cout<<finalMedian<<std::endl;
std::cin>>finalMedian;
return 0;
}

实际图

三个数组求中位数,并且求最后中位数的中位数-----C++算法实现的更多相关文章

  1. 三个数组求中位数,以及中位数的中位数----java算法实现

    求三个数组的中位数,以及中位数的中位数.   import java.util.Arrays; public class median { public static void main(String ...

  2. 使用基础知识完成java小作业?强化练习-1.输入数组计算最大值-2.输出数组反向打印-3.求数组平均值与总和-4.键盘输两int,并求总和-5.键盘输三个int,并求最值;

    完成几个小代码练习?让自己更加强大?学习新知识回顾一下基础? 1.输入数组计算最大值 2.输出数组反向打印 3.求数组平均值与总和 4.键盘输两int,并求总和 5.键盘输三个int,并求最值 /* ...

  3. PAT 基础编程题 4-11 求自定类型元素序列的中位数(希尔排序)

    4-11 求自定类型元素序列的中位数   (25分) 本题要求实现一个函数,求N个集合元素A[]的中位数,即序列中第\lfloor N/2 +1\rfloor⌊N/2+1⌋大的元素.其中集合元素的类型 ...

  4. 树状数组 && 线段树应用 -- 求逆序数

    参考:算法学习(二)——树状数组求逆序数 .线段树或树状数组求逆序数(附例题) 应用树状数组 || 线段树求逆序数是一种很巧妙的技巧,这个技巧的关键在于如何把原来单纯的求区间和操作转换为 求小于等于a ...

  5. 关于数组array_diff(array1, array2)求差集来比较数组是否相等的问题细究

    无意中发现很多朋友都喜欢使用array_diff(array1, array2)来判断两个数组是否相等, 我自己也偶尔会这么使用 但是今天我在写代码的过程中无意发现这么做是不准确的. 首先我们来看一下 ...

  6. 058 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 05 案例:求数组元素的最大值

    058 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 05 案例:求数组元素的最大值 本文知识点:求数组元素的最大值 案例:求数组元素的最大值 程序代码及其执行过程 ...

  7. 057 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 04 案例:求整型数组的数组元素的元素值累加和

    057 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 04 案例:求整型数组的数组元素的元素值累加和 本文知识点:求整型数组的数组元素的元素值累加和 案例:求整型数 ...

  8. 求余VS求模--C语言中表述

    之前看帖子,发现许多时候基本上大家都把求模和求余混为一谈了.但实际上二者的概念是有区别的   1. 求余 在C语言中,求余对应的操作符是%,且a%b求余的最后结果总是与a符号相同,最后的数值为|a|% ...

  9. Numpy学习三:数组运算

    1.转置 #reshape(shape)函数改变数组形状,shape是一个元组,表示数组的形状 创建一个包含15个元素的一维数组,通过reshape函数调整数组形状为3行5列的二维数组arr = np ...

  10. php实现用短路求值原理求1+2+3+...+n(短路求值是什么)(仔细分析题干)

    php实现用短路求值原理求1+2+3+...+n(短路求值是什么)(仔细分析题干) 一.总结 1.仔细分析题干,找出要点:该递归还是得递归啊 2.短路求值原理:&&就是逻辑与,逻辑与有 ...

随机推荐

  1. 2018-2019第一学期Java助教心得

    随着期末考试落下了帷幕,本学习也结束了回顾本学期的历程,对我影响最深的还是这学期很幸运的成为代老师的助教,这也是我第一次接触助教工作.刚开始的时候我心里也有很多的担心,怕自己胜任不了这份工作,但随着时 ...

  2. js引用类型赋值,深拷贝与浅拷贝

    JS中引用类型使用等号“=” 赋值,相当于把原来对象的地址拷贝一份给新的对象,这样原来旧的对象与新的对象就指向同一个地址,改变其中一个对象就会影响另外那个对象,也就是所谓的浅拷贝.例如: var ar ...

  3. css水平居中,竖直居中技巧(二)

    css水平居中,竖直居中技巧(二)===### 1.效果 ### 2.代码#### 2.1.index.html <!DOCTYPE html> <html lang="z ...

  4. Nginx 源码完全注释(10)ngx_radix_tree

    ngx_radix_tree.h // 未被使用的节点 #define NGX_RADIX_NO_VALUE (uintptr_t) -1 typedef struct ngx_radix_node_ ...

  5. ubuntu16.04 安装opencv3

    (opencvC++) luo@luo-ThinkPad-W540:20181205$ conda install --channel https://conda.anaconda.org/menpo ...

  6. 14. Longest Common Prefix 最长的公共字符串开头

    [抄题]: Write a function to find the longest common prefix string amongst an array of strings. 在 " ...

  7. 跨版本mysqldump恢复报错Errno1449

    已经有一套主从mysql,新增两个slave主库Server version: 5.6.22-log MySQL Community Server (GPL)旧从库Server version: 5. ...

  8. porwedesigner 去掉引号

    PowerDesigner生成的ORACLE 建表脚本中去掉对象的双引号,设置大.小写 若要将 CDM 中将 Entity的标识符都设为指定的大小写,则可以这么设定: 打开cdm的情况下,进入Tool ...

  9. 常见的移动端Web页面问题解决方案

    1.安卓浏览器看背景图片,有些设备会模糊. 用同等比例的图片在PC机上很清楚,但是手机上很模糊,原因是什么呢? 经过研究,是devicePixelRatio作怪,因为手机分辨率太小,如果按照分辨率来显 ...

  10. mybatis思维导图(二)

    写在前面 上一篇文章写了mybatis的基本原理和配置文件的基本使用,这一篇写mybatis的使用,主要包括与sping集成.动态sql.还有mapper的xml文件一下复杂配置等.值得注意的是,导图 ...