sort()简介

在头文件\#include<algorithm>中,algorithm意思是算法,sort()函数是类似于快速排序,时间复杂度为n*log2(n),执行效率较高。但是sort()并非只是普通的快速排序,除了对普通的快速排序进行优化,它还结合了插入排序和堆排序。根据不同的数量级别以及不同情况,能自动选用合适的排序方法。

基本使用方法

sort(begin, end, cmp)

  • begin为指向待sort()的数组的第一个元素的指针
  • end为指向待sort()的数组的最后一个元素的下一个位置的指针
  • cmp是排序准则,可以不写,默认从小到大
  • 在排序过程中,std::sort() 在对元素进行比较时会调用排序准则函数。根据 std::sort() 的实现方式,它会多次调用比较函数来判断两个元素的顺序,然后根据比较结果来交换它们的位置,从而实现排序。