找到10个数字的中位数(未排序)?

时间:2013-11-27 15:18:37

标签: c median

我不能使用ARRAY。 我只能使用一个变量。 并计算中位数。 我使用以下代码输入10个(未分类)

Printf("enter 10 nos");
for(i=0;i<=10;i++)
scanf("%d",&a);

我试过但只能找到最小值和最大值。但是中间没有运气没有运气。

1 个答案:

答案 0 :(得分:0)

由于在没有事先排序的情况下在一次遍历中进行此操作并不容易,但可以这样做。

您需要一种计算运行中位数的方法。

一种方法是使用订单统计树。见http://pine.cs.yale.edu/pinewiki/OrderStatisticsTree。这可能是你老师正在谈论的单变量。但是在C中强制转换为单个变量并不容易。

但这并不是获得中位数统计数据的明智方法。正常的路由是构建一个表示分位数函数的插值器,并使用它来提取中值。

相关问题