一、sort函數(shù)頭文件概述
sort函數(shù)頭文件是C++STL中的一個(gè)頭文件,包含了一系列的排序函數(shù)。sort函數(shù)是對一個(gè)指定區(qū)間內(nèi)的元素進(jìn)行排序的函數(shù),通過指定比較函數(shù)可以實(shí)現(xiàn)自定義排序。
sort函數(shù)頭文件包含了sort函數(shù)的聲明,以及其他相關(guān)函數(shù)的聲明和定義。頭文件的名稱是
#include
void qsort (void* base, size_t num, size_t size,
int (*compar)(const void*,const void*));
void qsort_r (void* base, size_t num, size_t size,
int (*compar)(const void*, const void*, void*),
void* arg);
void* bsearch (const void* key, const void* base,
size_t num, size_t size,
int (*compar)(const void*,const void*));
二、sort函數(shù)頭文件中的sort函數(shù)
sort函數(shù)頭文件中最常用的函數(shù)就是sort函數(shù)。這個(gè)函數(shù)用于排序,它可以按照指定的比較方式對一個(gè)數(shù)組或一個(gè)容器進(jìn)行排序。
sort函數(shù)的定義如下:
template
void sort (RandomAccessIterator first, RandomAccessIterator last);
template
void sort (RandomAccessIterator first, RandomAccessIterator last, Compare comp);
sort函數(shù)的第一個(gè)版本使用默認(rèn)的less比較器對指定的范圍進(jìn)行排序,第二個(gè)版本可以使用自定義的比較器進(jìn)行排序。這兩個(gè)版本的性能和正確性都是一樣的。sort函數(shù)的使用非常簡單,只需要將需要排序的元素范圍傳入即可。
#include
int arr[10] = { 9, 3, 7, 5, 1, 10, 2, 8, 4, 6 };
std::sort(std::begin(arr), std::end(arr)); // 使用默認(rèn)比較器排序
三、sort函數(shù)頭文件中的其它函數(shù)
四、sort函數(shù)頭文件的使用方式示例
五、總結(jié)
sort函數(shù)頭文件是STL中一個(gè)非常有用的頭文件,它提供了多種排序函數(shù)的實(shí)現(xiàn),可以方便快捷地實(shí)現(xiàn)對數(shù)組或容器的排序。同時(shí),sort函數(shù)還可以使用自定義比較器實(shí)現(xiàn)自定義排序。
需要注意的是,在使用bsearch函數(shù)進(jìn)行查找之前,需要先使用sort函數(shù)將數(shù)據(jù)進(jìn)行排序。否則,查找可能會失敗。