刷题哇

Vector

一维

vector<int> a(10, 1);
a.push_back(2);
a.size() ;
//删除 a.erase(itbgin,itend);

二维

vector<vector<int> > v(3);
for(int i = 0;i < v.size(); ++i)
        for(int j = 0; j < 4; ++j)
            v[i].push_back(j);

rownum=v.size();
colnum=v[0].size();

vector 去重

	set<int>s(vec.begin(), vec.end());
    vec.assign(s.begin(), s.end());

String

反转:reverse(str.begin(), str.end());
切片:pre=strs.substr(0,j);
查找:strs.find(pre)
- 找到 返回第一次出现位置
- 找不到 返回string::npos
插入:str.insert(pos,inserStr)
初始化:string temp(n,‘0’);
删除:str.erase(remove(str.begin(),str.end(),‘a’),str.end()); //在容器中, 删除[begin,end)之间的所有值等于’a’的值.
split 函数实现

void split(string &s, vector<string> &list1)
{
	istringstream tmp_string(s);
	string ss;
	while (getline(tmp_string, ss, ','))
	{
		list1.push_back(ss);
	}

}

stack

push() pop() top()

queue

push() pop() front() back()

二叉树标准定义

struct TreeNode {
 int val;
 TreeNode *left;
 TreeNode *right;
 TreeNode(int x) : val(x), left(NULL), right(NULL) {}
};

新建结点:TreeNode *roots=new TreeNode(val)

字符串

定义 char *str;
字符串结尾 ‘\0’

Stringstream

int 与string 转换

Stringsteam ss;
string st;
int t;

ss.clear();
ss<<st;
ss>>t;

to_string
stoi stol stoll

转换进制
ss<<oct<<a; //10进制转成八进制读入流中
ss<<hex<<a; //10进制转成十六进制读入流中

二进制处理

bitset<位数> a(string or int待处理数字)
1的位数:a.count()

判断double是否相等

bool equal(double num1,double num2)

{

if((num1-num2>-0.00000001)&&(num1-num2)<0.00000001)
    return true;
    else return false;

}
发布了35 篇原创文章 · 获赞 2 · 访问量 1432

猜你喜欢

转载自blog.csdn.net/qq_30776035/article/details/103054615