1. 程式人生 > 其它 >泛型演算法:不完全排序nth_element()

泛型演算法:不完全排序nth_element()

技術標籤:c++標準庫中的演算法

#define debug qDebug()<<
int main(int argc, char *argv[])
{
    QVector<int> vec{3,2,5,1,6,9,4,7};
    std::nth_element(vec.begin(), vec.begin() + 4, vec.end());
    debug vec;
}

要對序列進行完全排序是這樣的:

nth_element()保證:

1、*(vec.begin() + 4) = 5

2、vec.begin ~ (vec.begin + 3) 的值都小於5,但它們內部不保證有序

3、後面的值都大於5,但也不保證有序

還有自定義排序規則的版本,不綴訴。