sort() 是C++標(biāo)準(zhǔn)庫(kù)中提供的排序函數(shù),而qsort() 是C標(biāo)準(zhǔn)庫(kù)中提供的排序函數(shù)。
sort() 可以用于任何支持隨機(jī)訪(fǎng)問(wèn)迭代器的容器,例如vector, array, list等,而qsort() 只能用于C語(yǔ)言中的數(shù)組。
sort() 使用的是模板函數(shù),可以根據(jù)傳入的數(shù)據(jù)類(lèi)型進(jìn)行排序,而qsort() 需要自己實(shí)現(xiàn)比較函數(shù)。
sort() 使用的是快速排序算法,時(shí)間復(fù)雜度為O(n log n),qsort() 使用的是快速排序或者歸并排序算法,時(shí)間復(fù)雜度也為O(n log n)。
sort() 是面向?qū)ο蟮呐判蚝瘮?shù),支持函數(shù)對(duì)象的重載,可以實(shí)現(xiàn)自定義的比較規(guī)則,而qsort() 是面向過(guò)程的函數(shù),需要傳入比較函數(shù)指針。