C++基础知识string,set,队列,栈
因为要找实习,所以回顾了c++编程的基础知识点,在这里顺便记一下。
string
1 cin输入字符串时遇到空格和回车会结束;
getline(cin,str)函数可以输入带空格的字符串 ,以回车为中止
2string转int:
常用方式1
string numstr = str.substr(开始位置,长度); //截取部分字符串 int num = stoi(numstr); //string转int
常用方式2:
#include <sstream> //getline以;作为分隔符一部分一部分的读取 while(getline(cin,str,';')){} //截取str,从第二个字符一直到最后 string part2 = str.substr(1) //将字符串string类型part2转换为int型num stringstream ss; ss << part2; ss >> num;
3 reverse(s.begin(), s.end()); //字符串反转
reverse(s.begin(), s.end()); //字符串反转 原s:'abcdefg'; 反转后:'gfedcba'
set
set里面的值都是唯一的,没有重复的;且会从小到大排序 参考链接:https://www.cnblogs.com/caiyishuai/p/8646345.html #include<set> set<int> arr; arr.insert(x); set<int>::iterator it; for(it = arr.begin();it!=arr.end();it++){}
队列
#include <queue> queue<pair<int,int>> q; q.empty() q.size() q.pop() q.push() q.front() q.back()
栈
#include <stack> stack<pair<int,int>> s; s.empty() s.size() s.pop() s.push() s.top()
栈和队列有很多函数都是一样的。