您的位置:首页 > 其它

sicily 第一四分位点

2014-01-02 19:15 183 查看
在统计学中,第一四分位数返回统计数字中位于四分之一处的数据。

假定下列函数的输入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);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: