https://gitee.com/programmercarl/leetcode-master?_from=gitee_search
std::map<char, int> mymap;
// 插入单个值
mymap.insert(std::pair<char, int>('a', 100));
mymap.insert(std::pair<char, int>('z', 200));
for (auto& iter: mymap){
cout<iter.first;
}
std::vector<int64_t> vec_temp;
for (auto& iter: recall_item) {
vec_temp.push_back(iter.first);
}
for (auto& id: vec_temp) {
cout<<id<<endl;
}
set<int > set1 ;
set1.insert(1);
set1.insert(2);
for(auto &it : set1){
cout<<it<<endl;
}
#include
#include
using namespace std;
int main()
{
int numList[6]={1,2,2,3,3,3};
/ /1.set add
set<int> numSet;
for(int i=0;i<6;i++){
//2.1insert into set
numSet.insert(numList[i]);
}
//2.travese set
for(set<int>::iterator it=numSet.begin() ;it!=numSet.end();it++){
cout<<*it<<" occurs "<<endl;
}
//3.set find useage
int findNum=1;
if(numSet.find(findNum)!=numSet.end())
{
cout<<"find num "<<findNum<<" in set"<<endl;
}else{
cout<<"do not find num in set"<<findNum<<endl;
}
//set delete useage
int eraseReturn=numSet.erase(1);
if(1==eraseReturn){
cout<<"erase num 1 success"<<endl;
}else{
cout<<"erase failed,erase num not in set"<<endl;
}
return 0;
}
#include
using namespace std;
#include
int main(){
std::vector<std::pair<int64_t,double>> vec_temp;
vec_temp.push_back(std::make_pair(5,5.0));
vec_temp.push_back(std::make_pair(4,4.0));
vec_temp.push_back(std::make_pair(3,3.0));
vec_temp.push_back(std::make_pair(2,2.0));
for(auto &item : vec_temp){
cout<<item.first<<" "<<item.second<<endl;
}
}
在for循环中删除元素
https://blog.csdn.net/u013288190/article/details/122167859
有坑
在刷leetcode的2131. 连接两字母单词得到的最长回文串这题中,发现这个坑
string temp = "";
temp=temp+iter.first[1]+iter.first[0]; //这么写是对的
string temp1 = "";
temp1 = iter.first[1]+iter.first[1]; //这么写是错的
6 创建vecotr
vector<int>nums;//创建整型一维数组
vector<int>nums(n);//指定长度为n
vector<int>nums(5,3);//创建[3 3 3 3 3]
```cpp
//创建row行col列的二维vector
vector<vector<int>> b(row,vector<int>(col));
vector<vector<int>> vectors = {
{0,10,5},
{9,0,6},
{2,13,0}
};
7 vecotr排序
int main(){
vector<int> vec = {2,6,3,5,4,8,1,0,9,10};
sort(vec.begin(), vec.end());
for(int item: vec)
cout << item << " ";
return 0;
}
// out
/*
0 1 2 3 4 5 6 8 9 10
*/
//二维vector中使用lambda排序
sort(vec.begin(),vec.end(),[](vector<int>a, vector<int> b){
return a[1]>b[1];
});
8 C++写文件
#include
std::string request = context->m_request->request().value();
ofstream write;
write.open("result_105.txt", ios::app);
write <<request << endl;
write.close();
#include
#include
using namespace std;
void show_vec(vector<int>& vec){
for(int i=0;i<vec.size();i++){
cout<<vec[i]<<" ";
}
cout<<endl;
}
int main(){
vector<int> res(3);
res[0]=0;
res[1]=1;
res[2]=2;
res.insert(res.begin(),3); //3 0 1 2 在0号元素前面插入
show_vec(res);
res.insert(res.begin()+1,4); //3 4 0 1 2 在1号元素前面插入
show_vec(res);
res.insert(res.end(),5); //3 4 0 1 2 5 在最后一个元素后面插入
show_vec(res);
}
vector<int>list={1,2,3,4,5,6,7.0};
//----------------------test.cpp------------------------
#include
#include
using namespace std;
class Bike{
public:
int price;
};
int main()
{
Bike* bi = new Bike();
(*bi).price = 100;
shared_ptr<Bike> p1 = make_shared<Bike>(*bi);
//输出 p1 指向的数据
cout << "(*p1).price is:" << (*p1).price << endl;
(*p1).price = 200;
cout << "(*p1).price is:" << (*p1).price << endl;
cout << "bi.price is:" << (*bi).price << endl;
return 0;
}
//--------------------终端的命令
g++ --std=c++11 test.cpp
//--------------------终端的结果
$ ./a.out
(*p1).price is:100
(*p1).price is:200
bi.price is:100
数组
//定义数组,如果不初始化,在leetcode的结果是
int a[5][5];
int b[6];
cout<
栈的用法
//其实栈就这几个成员函数
empty() //堆栈为空则返回真
pop() //移除栈顶元素
push() //在栈顶增加元素
size() //返回栈中元素数目
top() //返回栈顶元素
#include //使用stack时需要的头文件
stack<int> s;//定义一个int类型的stack