标签:
首先我们要简单的介绍一下盒图这种东西:
一个非常简单的办法叫做桶排序!!!这个方法参照我的一篇博文:
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