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