string num = to_string(c); //转换整数或浮点数 c++11
char c = tolower(字符) //变成小写
girl_name.empty() //girl_name 是个string
C++中unordered_set<char> hash;//哈希表 的插入、删除、修改、查找 O(1) AcWing 1534.字符串减法,
本题由于哈希的是char字符,只有256种情况,所以可以直接使用bool数组。
unordered_set<char> hash; // 定义哈希表
hash.insert(c); // 将s2中的字符插入哈希表
hash.count(c) //统计字符的个数(无符号整型变量)
//基于平衡树实现,每步操作O(logn)
//有序
//a.insert(数字); // 将数字插入哈希表
//b[x]=y;
//a.count(数字); //统计数字的个数(无符号整型变量)
set<int> a; <set>
map<int,int> b; <map>
multiset<int> c; <multiset>
multimap<int,int> d; <multimap>
//基于哈希表实现,每步O(1)
//无序
unordered_set<int> e; <unordered_set>
underered_map<int,int> f; <underered_map>
underered_multiset<int> g; <underered_multiset>
underered_multimap<int,int> h; <underered_multimap>
bool check(vector<int>& num) //vector 加引用主要是因为 不用复制数组了
{
for (int i = 0, j = num.size() - 1; i < j; i ++, j -- )
if (num[i] != num[j])
return false;
return true;
}
vector<int> b(a.rbegin(), a.rend()); //把vector数组a逆置的值赋给vector数组b
sort(a.begin(), a.end());//按字典序排序vector数组
if (a == b) puts("Yes"); //vector支持按字典序比较
char format_time[50];
sprintf(format_time, "%02d:%02d:%02d", day, hour, minute); //格式输出到输出到字符数组中
队列中 结构体的修改
//stringstream #include <sstream>
<sstream> 定义了三个类:istringstream、ostringstream 和 stringstream,分别用来进行流的输入、输出和输入输出操作。本文以 stringstream 为主,介绍流的输入和输出操作。
<sstream> 主要用来进行数据类型转换,由于 <sstream> 使用 string 对象来代替字符数组(snprintf 方式),避免了缓冲区溢出的危险;而且,因为传入参数和目标对象的类型会被自动推导出来,所以不存在错误的格式化符号的问题。简单说,相比 C 编程语言库的数据类型转换,<sstream> 更加安全、自动和直接
实例:
string line;
getline(cin, line);
stringstream ssin(line);
string word;
while (ssin >> word) res += get(word);
sort(a + 1, a + n + 1, greater<int>()); //int数组从大到小排序
set 排序比vector排序常数大
读入数据量很大,需要把string类型用char数组读入
vector<vector<int>> res(r, vector<int>(c)); //
vector<vector<int>> res(r, vector<int>(c)); // 螺旋矩阵填法
int dx[] = {-1, 0, 1, 0}, dy[4] = {0, 1, 0, -1};
for (int i = 0, x = 0, y = 0, d = 1; i < n; i ++ )
{
res[x][y] = w[i];
int a = x + dx[d], b = y + dy[d];
if (a < 0 || a >= r || b < 0 || b >= c || res[a][b])
{
d = (d + 1) % 4;
a = x + dx[d], b = y + dy[d];
}
x = a, y = b;
}
int left = stoi(number.substr(0, len)); //