1.vector(存放任意类型的动态数组)
- 1.1 创建
vector <int> a;
vector <float> b(10); // 创建一个10个元素类型为float值为0的数组
vector <char> c(20,'a');
- 初始化
for (;;){
int n;
if(!(cin >> n)) break;
vec.push_back(n);
}
vec = {1,2,3,4,5}; // c++11
- 1.2 获取元素个数
vector int<n> a;
a.size() // 获取元素个数
a.empty() // 判断是否为空
- 1.3 添加/删除元素
a.push_back() // 尾添加
a.pop_back() // 尾删除
a.clear() // 清空数组
- 1.4 访问元素
a.front() // 获取第一个元素
a.back() // 获取最后一个元素
a[i] // 随机访问
a.at(i) // 随机访问
- 1.5 运算符
= // 赋值
== // 比较
#include <iostream>
#include <vector>
using namespace std;
int main(){
vector <int> a;
for (;;){
int n;
if(!(cin >> n)) break;
a.push_back(n);
}
// 获取元素个数
cout << a.size() << endl;
// 判断数组是否为空 // false - 0 // true - 1
cout << a.empty() << endl;
// 访问第一个元素
cout << a.front() << endl;
for (int i=0;i<a.size();i++){
cout << a.at(i) << " " ;
}
cout << endl;
// 尾删除
for (int i=0;i<3;i++){
a.pop_back();
}
for (int i=0;i<a.size();i++){
cout << a.at(i) << " " ;
}
cout << endl
a.back() = 9;
cout << a.back() << endl;
a.clear();
cout << a.size() << endl;
}
2.string
- 2.1创建
string a;
string b("Hello World");
string c(20,'a');
- 2.2 获取字符个数
s.size() // 获取字符个数
s.length() // 获取字符个数
s.empty // 判断是否为空
- 2.3 添加/删除
s.push_back() // 尾添加字符
s.pop_back() // 尾删除字符
s.append() // 尾添加字符串
- 2.4 访问字符
s.front() // 获取第一个字符
s.back() // 获取最后一个字符
s[i] // 随机访问
s.at(i) // 随机访问
s.c_str() // 获取字符数组
- 2.5 运算符
= // 赋值
== // 比较
+ // 添加
>> // 输入
<< // 输出
#include <iostream>
#include <string>
using namespace std;
int main(){
string s;
cin >> s;
cout << s << endl;
for (int i=0;i<s.size();i++){
cout << s[i] << endl;
}
cout << s.length() << endl;
string t = "HelloWorld";
if(t != s){
cout << t << " is not eaual " << s << endl;
}else{
cout << t << " is equal " << s << endl;
}
for (int i=0;i<t.size();i++){
s.push_back(t[i]);
}
cout << s << endl;
t = s;
cout << t << endl;
s = s + "1234";
cout << s << endl;
}