nth-element

    18熱度

    2回答

    我最近發現在STL中存在一個名爲nth_element的方法。引述的描述: Nth_element類似於 partial_sort,因爲它部分 訂單一個範圍的元素:它 第一排列範圍[,最後的)這樣 該元件由 迭代器指向如果整個範圍[第一個,最後一個)具有 已被排序,則第n個將與 中的那個位置相同。另外,範圍[nth,last)中的 元素都不是 範圍內的任何元素[first,nnth]。 它聲稱平均

    1熱度

    1回答

    該任務是對具有重複的s.t.的向量進行部分排序。如果向量被排序,則中位數(第n個元素)位於它的位置。所有較小的元素應位於左側,右側爲所有較大的元素。所有與中值相同值的元素都必須是原始順序 - 但只有這些元素不是其餘元素。 你會如何解決這個問題? 我的初始溶液: 使用std :: nth_element()來查找位數元件 橫動矢量和排序只用相同的值中位數相對於它們的索引的元素。我將如何有效地做到這一

    1熱度

    1回答

    我想編譯一個八度.oct函數來計算排序矢量的上半部和下半部的中間值,它們的長度會有所不同,例如:對於奇數長度的矢量,例如[5,8,4,6,7],我希望4,5和6的「低」中值和6,7和8的「高」中值(6是兩個計算),對於一個偶數長度的向量,例如[5,8,4,6,7,9],我希望4,5和6的「低」中值和「高」中值爲7,8和9,我還試圖用一個快速的方法來做到這一點,要使用此代碼,我已經適應和使用一個簡單

    0熱度

    2回答

    對prolog很新穎。我正在嘗試創建一個簡單的遞歸規則來查找列表中的第n個元素。例如,如果我有一個字符串或數字列表我希望能夠使用查詢 ?- findme([dog, cat , bird], 1, R). R = dog ?- findme([9,8,7,6,5], 3,R). R= 7 ?- findme([mouse,cheese,cat,milk], 5, R). R = fals

    6熱度

    6回答

    我寫了一個程序,用戶可以輸入任何數值到載體和它應該返回四分位數,但我不斷收到一個「向量下標超出範圍」錯誤: #include "stdafx.h" #include <iostream> #include <string> #include <algorithm> #include <iomanip> #include <ios> #include <vector> int mai

    11熱度

    3回答

    有很多在計算器上索賠和其他地方nth_element是O(n)的,它通常與Introselect實現:http://en.cppreference.com/w/cpp/algorithm/nth_element 我想知道如何可以做到這一點。我看着Wikipedia's explanation of Introselect,這讓我更加困惑。算法如何在QSort和Mediology中間值之間切換? 我

    1熱度

    2回答

    vector<int> data = {3, 1, 5, 3, 3, 8, 7, 3, 2}; std::nth_element(data.begin(), data.begin() + median, data.end()); 請問這個總是導致: data = {less, less, 3, 3, 3, 3, larger, larger, larger} ? 或者將一個其他可能的結果

    1熱度

    2回答

    我有一個長度爲n的數組A。設B是一個包含A的每個第k個元素的數組(我們從不想單獨存儲 - 這只是爲了幫助解釋)。我想要找到B的中位數,並且我想將A的元素移動到地板(n/2)'的位置。 我該如何有效地做到這一點?我正試圖對std :: nth_element進行一次調用,並將指針傳遞給A.但是,我需要這個指針來增加k個元素A.我該怎麼做?基本上: A2 = (kFloat *)A; std::nt