1.可以直接使用 == 来判断两个string是否相等,或者>= <=等运算符。
2.可以使用 = 给string赋值。
3.可以使用 + 连接两个字符串或者一个字符串和一个字符。
string a;
4.getline(cin, a); ——>从I/O流读取数据到字符串
。
5.可以使用length()直接返回字符串的长度。
例题:洛谷P1012 拼数
可以直接使用一个拼接+对拼接后的字符串字典序排序就可以完成。
核心代码:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#define LL long long
using namespace std;
const int N = 1e3 + 10;
string p[N];
bool cmp(string &a, string &b)
{
return a + b > b + a; //这里可以直接比较字典序大小
//是因为a + b跟 b + a的长度相等,
//否则不能直接比较字典序
}
int main()
{
int n;
cin >> n;
for(int i = 0; i < n; i ++)
cin >> p[i];
sort(p, p + n, cmp);
for(int i = 0; i < n; i ++)
cout << p[i];
return 0;
}