做网站有没有前途,网站空间域名每年都得交吗,哪些网站有中文域名,佛山网站推广排名文章目录 C STL 常见排序算法详解1. sort 算法2. merge 算法3. random_shuffle 算法4. reverse 算法 C STL 常见排序算法详解
1. sort 算法
功能#xff1a;sort 用于对容器内的元素进行升序排序。示例代码#xff1a;#include iostream
#include algorithm STL 常见排序算法详解1. sort 算法2. merge 算法3. random_shuffle 算法4. reverse 算法 C STL 常见排序算法详解
1. sort 算法
功能sort 用于对容器内的元素进行升序排序。示例代码#include iostream
#include algorithm
#include vectorint main() {std::vectorint numbers {4, 2, 7, 1, 5};std::sort(numbers.begin(), numbers.end());for (int num : numbers) {std::cout num ;}return 0;
}原理sort 基于快速排序算法实现具有 O(n log n) 的时间复杂度。
2. merge 算法
功能merge 用于合并两个已排序的序列到一个新序列。示例代码#include iostream
#include algorithm
#include vectorint main() {std::vectorint list1 {1, 3, 5};std::vectorint list2 {2, 4, 6};std::vectorint mergedList(list1.size() list2.size());std::merge(list1.begin(), list1.end(), list2.begin(), list2.end(), mergedList.begin());for (int num : mergedList) {std::cout num ;}return 0;
}原理merge 通过合并两个有序序列来创建一个新的有序序列具有线性时间复杂度。
3. random_shuffle 算法
功能random_shuffle 用于随机打乱容器中元素的顺序。示例代码#include iostream
#include algorithm
#include vectorint main() {std::vectorint numbers {1, 2, 3, 4, 5};std::random_shuffle(numbers.begin(), numbers.end());for (int num : numbers) {std::cout num ;}return 0;
}原理random_shuffle 使用随机数生成器对容器中的元素进行重新排列。
4. reverse 算法
功能reverse 用于反转容器中元素的顺序。示例代码#include iostream
#include algorithm
#include vectorint main() {std::vectorint numbers {1, 2, 3, 4, 5};std::reverse(numbers.begin(), numbers.end());for (int num : numbers) {std::cout num ;}return 0;
}原理reverse 将容器中的元素逆序排列。