📅  最后修改于: 2023-12-03 15:14:04.672000             🧑  作者: Mango
在C++中,可以使用STL中的sort函数来对一个数组或vector中的元素进行排序,排序的依据可以是元素的大小,也可以是字典序。本篇文章将介绍如何使用C++程序按字典顺序对元素进行排序。
在C++中,可以使用sort函数对元素进行排序,其原型如下:
template <class RandomAccessIterator>
void sort (RandomAccessIterator first, RandomAccessIterator last);
sort函数默认会按照元素的大小来进行排序。如果我们要按照字典序进行排序,则需要使用sort函数的第三个参数,即排序函数。
排序函数应该返回一个bool值。如果第一个元素应该排在第二个元素的前面,则返回true。否则返回false。我们可以使用strcmp函数比较两个字符串的大小,示例代码如下:
#include <iostream>
#include <algorithm>
#include <vector>
#include <cstring>
using namespace std;
bool compare(string a, string b) {
return strcmp(a.c_str(), b.c_str()) < 0;
}
int main() {
vector<string> v = {"apple", "Banana", "cat", "dog", "egg"};
sort(v.begin(), v.end(), compare);
for (auto s : v) cout << s << " ";
return 0;
}
输出结果为:
Banana apple cat dog egg
本篇文章介绍了如何使用C++程序按照字典序对元素进行排序。使用STL中的sort函数,我们可以轻松地实现这一目标。