标签:ras namespace front 迭代 first it! bool 循环 移除
目录
主要内容:
①定义方式
②输出单个元素
③遍历输出
主要函数:
①获取大小v.size()
②获取首指针,获取尾指针v.begin()/v.end()
#include <iostream>
#include <vector>
using namespace std;
int main(void){
//定义方式
vector<int> v1;
vector<int> v2(10);
vector<int> v3(10,4);
//输出单个元素
cout << v2[0] << endl;//默认为0
cout << v3[0] << endl;//输出4
//获取大小
cout << v2.size() << endl;
cout << v3.size() << endl;
//遍历方式
for(int i = 0; i < v3.size(); i++){
cout << v3[i] << " ";
}
cout << endl;
//常用遍历方式:迭代器
for(auto it = v3.begin(); it!=v3.end(); it++){//输出与上一排相同
cout << *it << " ";//访问要对it指针取值
}
cout << endl;
return 0;
}
主要内容
①定义方式
②增删改查
③遍历
主要函数
①插入s.insert()
②查找s.find()
③获取头尾指针s.begin()/s.end()
④删除s.erase()
#include<iostream>
#include<set>
using namespace std;
int main(void){
//定义方式
set<int> s;
//插入元素
s.insert(3);
//输出首元素
cout << *(s.begin()) << endl;
//循环插入
for(int i = 1; i <6; i++){
s.insert(i);
}
//迭代输出
for(auto it = s.begin(); it != s.end(); it++){
cout << *it << " ";//输出1 1 2 3 4 5
}
//查询集合中是否含有该元素
cout << endl << (s.find(2) != s.end()) << endl;
cout << (s.find(10) != s.end()) << endl;
//删除集合中 的某元素
s.erase(1);
cout << (s.find(1) != s.end()) <<endl;
return 0;
}
//unordered_map省去排序过程,如果map超时可使用
#include <iostream>
#include <map>
using namespace std;
int main(void){
//定义方式
map<string,int> m;
//设置键值对的方式
m["hello"] = 2;
cout << m["hello"] << endl;
cout << m["world"] << endl;
m["world"] = 3;
m[","] = 1;
//迭代输出键与值的方式
for(auto it = m.begin(); it != m.end(); it++){
cout << it->first << " " << it->second << endl;
}
//输出第一个与最后一个键值对的方式
cout << m.begin()->first << " " << m.begin()->second << endl;
cout << m.rbegin()->first << " " << m.rbegin()->second << endl;
return 0;
}
#include <iostream>
#include <stack>
using namespace std;
int main() {
stack<int> s;//定义一个空栈s
for (int i = 0; i < 6; i++) {
s.push(i);
}
cout << s.top() << endl; // 访问s的栈顶元素
cout << s.size() << endl; // 输出s的元素个数
s.pop(); // 移除栈顶元素
return 0;
}
#include <iostream>
#include <queue>
using namespace std;
int main() {
queue<int> q;
for (int i = 0; i < 6; i++) {
q.push(i);
}
cout << q.front() << " " << q.back() << endl;
cout << q.size() << endl;
q.pop();
return 0;
}
#include <iostream>
#include <bitset>
using namespace std;
int main(){
bitset<5> b("11");//5表示w个二进位
//初始化方式:
//bitset<5> b; 都为0
//bitset<5> b(u); u为unsigned int, 如果 u = 1,则被初始化为10000
//bitset<5> b(s); s为字符串,如”1101“ ->”10110“
//bitset<5> b(s, pos, n); 从字符串的s[pos]开始,n位长度
for(int i = 0; i< 5; i++){
cout<< b[i];
}
//很多方法都是针对1的
cout << endl << b.any();//b中是否存在1的二进制位?
cout << endl << b.none();//b中不存在1吗?
cout << endl << b.count();//b中1的二进制位的个数
cout << endl << b.size();//b中二进制位的个数
cout << endl << b.test(2);//测试下标为2处是否二进制位为1
b.set(4);//下标4变为1
b.reset();//所有位归零
b.reset(3);//下标3处归零
b.flip();//b的所有二进制位逐位取反
unsigned long a =b.to_ulong();//b转换成unsigned long类型
return 0;
}
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
bool cmp(int a, int b){//自定义cmp函数
return a > b;
}
int main(void){
vector<int> v(10);
for(int i = 0; i < 10; i++){
cin >> v[i];
}
//注意vector传入方式
sort(v.begin(), v.end());//默认从小到大
for(auto it = v.begin(); it != v.end(); it++){
cout << *it << " ";
}
int arr[10];
for(int i = 0; i < 10; i++){
cin >> arr[i];
}
//注意数组的传入方式
sort(arr,arr+10,cmp);//传入自写的cmp,从大到小
for(int i = 0; i < 10; i++){
cout << arr[i] << " ";
}
}
#include<iostream>
#include <set>
#include <string>
using namespace std;
int main(void){
//一、auto声明:自动推断类型
auto x = 100;
auto y = 1.5;
set<int> s;
s.insert(4);
s.insert(2);
s.insert(5);
for(set<int>::iterator it = s.begin(); it != s.end(); it++) {
cout << *it << " ";
}
cout << endl;
for(auto it = s.begin(); it != s.end(); it++){
cout << *it << " ";
}
cout << endl;
//二、 to_string
string s1 = to_string(123);
cout << s1 << endl;
string s2 = to_string(4.5);
cout << s2 << endl;
cout << s1 + s2 << endl;
printf("%s\n", (s1 + s2).c_str());//如果想用printf输出string得加一个.c_str()
//三、stoi、stod:string转化为对应的int和double型
string str = "123";
int a = stoi(str);
cout << a << endl;
str = "123.44";
double b = stod(str);
cout << b << endl;
//stof
//sstold
//stol
//stoll
//stoul
//stoull
return 0;
}
标签:ras namespace front 迭代 first it! bool 循环 移除
原文地址:https://www.cnblogs.com/Hokkaido-JL/p/11872896.html