时间排序_你懂使用C ++ STL在线性时间内查找未排序数组的中位数吗
也許你現(xiàn)在還在愁著學(xué)習(xí)C++?您不知道該怎么使用C++ST在線性時(shí)間內(nèi)查找未排序數(shù)組的中位數(shù),那么本文就用幾組代碼教您查找。
給定具有N個(gè)元素的未排序數(shù)組 arr [],任務(wù)是找出線性時(shí)間復(fù)雜度的數(shù)組中位數(shù)。
例子:
建議:在繼續(xù)解決方案之前,請(qǐng)先在{IDE}上嘗試使用您的方法。
方法:方法是在C ++ STL中使用nth_element()函數(shù)。
1.如果數(shù)組中元素的數(shù)量為奇數(shù),請(qǐng)使用nth_element()函數(shù)找到第(N / 2)個(gè)元素,如下所示,然后索引(N / 2)的值為給定數(shù)組的中位數(shù)。
2.否則,使用nth_element()函數(shù)找到第(N / 2)和第((N – 1)/ 2)個(gè)元素,如下所示,并找到索引(N / 2)和((N– 1)處的平均值/ 2)是給定數(shù)組的中位數(shù)。
下面是上述方法的實(shí)現(xiàn):
輸出:Median = 4.5
領(lǐng)取更多學(xué)習(xí)資料以及教程,您可私信回復(fù)編程或者點(diǎn)擊下方了解更多鏈接:
總結(jié)
以上是生活随笔為你收集整理的时间排序_你懂使用C ++ STL在线性时间内查找未排序数组的中位数吗的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 油烟机选择指标
- 下一篇: wps数据匹配怎么做_【VK技术分享】数