sicily 第一四分位点

来源:互联网 发布:淘宝时景大药房卖假药 编辑:程序博客网 时间:2024/06/07 11:04
在统计学中,第一四分位数返回统计数字中位于四分之一处的数据。

假定下列函数的输入v是未排序的统计数据,函数Q1返回将v排序后的第一四分位数v[k]及其位置,即向量v中位于 k=[0.25*n](取整)处的元素及位置k。例如,v=(1,2,3,2,3,2,4), 则v排序后为(1,2,2,2,3,3,4), k=[0.25*n] = [0.25*7] = 1, v[k] = 2, 故返回结果为(2, 1). 假定输入v非空。

好吧,题目开始有点没看懂=。=使用vector存储数据,函数Q1用于返回结果。需要注意的是默认v已经给出。使用冒泡排序使v中元素升序排列,然后使用make_pair返回即可。

#include<iostream>#include<vector>using namespace std;pair<double, int> Q1(vector<double> v) {int temp;for (int i = 0 ; i < v.size() ; i++) {for (int j = 0 ; j < v.size() - i - 1 ; j++) {if (v[j]>v[j+1]) {  temp = v[j];  v[j] = v[j+1];  v[j+1] = temp;}}}int k = v.size() / 4;return make_pair(v[k], k);}



0 0
原创粉丝点击