标签:
首先我们要简单的介绍一下盒图这种东西:
一个非常简单的办法叫做桶排序!!!这个方法参照我的一篇博文:
http://blog.csdn.net/qq_23100787/article/details/51143387 超链接在左边
然后我们假设T数据集是桶排序后的数据集,那么我们对这个数据集进行循环遍历即可,桶排序是一种典型的用空间换时间的排序方法。
算Q1方法:遍历过去1/4位置时候的值
算Q3方法:遍历过去3/4位置时候的值
算中位数方法:遍历过去1/2位置时候的值 (分奇数偶数)
算众数方法:遍历过去单次最多的值
算最大值最小值方法:遍历过去第一个和最后一个
最后思想我们知道了,如果有代码就更好了,我就给出我写的局部的代码:
<strong> </strong>int min_value = 99999999,max_value = 0,most_value=0,ave_value=0;
for(int i=0;i<5000;i++){
if(T[i].flag==true){
//计算众数
if(T[i].virable>max_temp){
most_value = i;
max_temp = T[i].virable;
}
for(int j=0;j<T[i].virable;j++){
//计算均值
ave_value +=i;
//计算中位数,最大最小值,两个胡须
count_temp ++; //问题出在这儿,一次加太多了
if(count_temp==((row_count-1)/4)){
q_1 = i;
}
if(count_temp==((row_count-1)/2)){
middle = i;
}
if(count_temp==((row_count-1)/4*3)){
q_3 = i;
}
if(count_temp==1){
min_value = i;
}
if(count_temp==row_count-1){
max_value = i;
}
}
}
}
转载请说明出处
标签:
原文地址:http://blog.csdn.net/qq_23100787/article/details/51357353