c++数组std::sort
时间: 2023-11-11 12:18:18 浏览: 34
`std::sort` 是 C++ 标准库中的一个函数,用于对数组或容器进行排序。它采用快速排序算法或者使用类似快速排序的算法来进行排序。你可以通过包含 `<algorithm>` 头文件来使用它。
下面是一个使用 `std::sort` 对数组进行排序的示例代码:
```cpp
#include <iostream>
#include <algorithm>
int main() {
int arr[] = {5, 2, 9, 1, 7};
std::sort(arr, arr + 5);
for (int i = 0; i < 5; i++) {
std::cout << arr[i] << " ";
}
return 0;
}
```
这段代码会输出:1 2 5 7 9,表示数组已经被排序。在使用 `std::sort` 时,你需要传入要排序的数组的起始位置和结束位置(使用迭代器表示)作为参数。在示例中,`arr` 是指向数组的指针,所以我们传入 `arr` 和 `arr + 5`,其中 `arr + 5` 表示数组的结束位置。
`std::sort` 还可以对容器进行排序,用法类似。希望这个回答对你有帮助!如有更多问题,请继续提问。
相关问题
c++ std::sort
c中的std::sort是一个标准库函数,用于对数组或容器中的元素进行排序。它可以按照默认的小于运算符(operator<)进行排序,也可以使用自定义的比较函数对象或lambda表达式进行排序。
以下是使用std::sort函数对数组进行升序排序的示例代码:
#include <iostream>
#include <algorithm>
int main() {
int arr[] = {5, 2, 8, 1, 9};
std::sort(arr, arr + 5);
for (int i = 0; i < 5; i++) {
std::cout << arr[i] << " ";
}
return 0;
}
在这个示例中,std::sort函数接受两个迭代器参数,分别指向要排序的范围的起始和末尾。数组arr的起始地址由arr传递给std::sort函数,而arr + 5则是数组的末尾地址(这里假设数组的大小是5)。std::sort函数将数组中的元素按照升序进行排序,并输出结果。
std::sort函数的语法如下:
template<class RandomIt, class Compare>
void sort(RandomIt first, RandomIt last, Compare comp);
其中,RandomIt是一个迭代器类型,用于指向排序范围的起始和末尾。Compare是一个比较函数对象或lambda表达式,用于指定排序的顺序。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [[C++]std::sort()函数使用总结](https://blog.csdn.net/weixin_30906185/article/details/98305002)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [【C++】sort函数](https://blog.csdn.net/XiugongHao/article/details/130977213)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
c++ std::vector 排序
C++中的std::vector是一个动态数组容器,可以存储任意类型的元素。要对std::vector进行排序,可以使用std::sort函数,该函数位于<algorithm>头文件中。
下面是对std::vector进行排序的示例代码:
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::vector<int> nums = {5, 2, 8, 1, 9};
// 使用std::sort对std::vector进行排序
std::sort(nums.begin(), nums.end());
// 输出排序后的结果
for (int num : nums) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
```
上述代码中,我们首先包含了<iostream>、<vector>和<algorithm>头文件。然后创建了一个std::vector<int>类型的nums,并初始化了一些整数元素。
接下来,我们使用std::sort函数对nums进行排序,传入nums.begin()和nums.end()作为排序范围。
最后,我们使用for循环遍历排序后的nums,并输出每个元素。
运行上述代码,输出结果为:1 2 5 8 9,表示nums已经按升序排列。