📅  最后修改于: 2023-12-03 15:29:42.887000             🧑  作者: Mango
在 C++ 中,可以使用数组来存储一组数据,并且也可以对这组数据进行排序操作。除了数组之外,还可以使用 C++ STL 中的 vector 容器来存储数据并进行排序操作。下面分别介绍数组和向量的排序方法。
在 C++ 中,可以使用
void sort(int* start, int* end);
其中,start 和 end 分别指向数组中需要排序的部分的起始和结束位置。排序之后,数组中的元素将按照从小到大的顺序排列。下面是一段示例代码,演示了如何使用 sort() 函数对数组进行排序。
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int arr[] = { 5, 2, 8, 4, 1, 9 };
int n = sizeof(arr) / sizeof(arr[0]);
sort(arr, arr + n);
for (int i = 0; i < n; i++)
cout << arr[i] << " ";
return 0;
}
输出结果为:
1 2 4 5 8 9
向量是 C++ STL 中的一种容器类型,可以动态地存储数据。使用向量进行排序时,可以使用向量的成员函数 sort()。sort() 函数的原型如下:
void sort();
sort() 函数会按照从小到大的顺序排序向量中的元素。下面是一段示例代码,演示了如何使用 sort() 函数对向量进行排序。
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
vector<int> vec = { 5, 2, 8, 4, 1, 9 };
sort(vec.begin(), vec.end());
for (int i = 0; i < vec.size(); i++)
cout << vec[i] << " ";
return 0;
}
输出结果为:
1 2 4 5 8 9
需要注意的是,向量的 sort() 函数使用的参数是迭代器,而不是指向数组的指针。因此,需要使用 vec.begin() 和 vec.end() 来表示向量的起始和结束位置。