泛型演算法:部分排序演算法partial_sort()、partial_sort_copy()
阿新 • • 發佈:2021-01-18
技術標籤:c++標準庫中的演算法
1、partial_sort()對部分個數元素進行排序並移到序列前面
#define debug qDebug()<<
int main(int argc, char *argv[])
{
QVector<int> vec{ 3,2,5,4,1,6,9,7};
std::partial_sort(vec.begin(), vec.begin() + 4, vec.end());
debug vec;
}
預設是升序排列,可以理解為從整個序列取出了最小的4個數放到最前面,剩下的保持著相對的順序不變。
還有自定義排序規則的版本,不綴訴。
2、partial_sort_copy()部分排序後不影響原序列,將部分排序的結果複製到另一個序列
#define debug qDebug()<< int main(int argc, char *argv[]) { QVector<int> vec{3,2,5,4,1,6,9,7}; QVector<int> vec2; vec2.resize(7); std::partial_sort_copy(vec.begin(), vec.begin() + 7,vec2.begin(),vec2.end()); debug vec2; }
相對於取出前面7個數進行了排序,並將排序結果複製到另一個序列。
還有自定義排序規則的版本,不綴訴。