「算法刷题」c++中栈、队列和字符串的基本操作
c++ string的详细用法
string a=”123”;
1.在字符串末尾添加一个字符
a.push_back(‘3’); //结果为 a=”1233”;
2.在字符串末尾删除一个字符
a.pop_back(); //结果为 a=”12”;
3.assign()
1 | //字符串变量 |
4.append()
1 | string a="1234"; |
4.at()
1 | string a="abcd"; |
5 front()与back()
1 | string a="abcd"; |
6.compare()
1 | string a="abcd"; |
7.copy()
1 | char *str = new char[64]; |
8.data()与c_str() copy()的区别
1 | string a="123456"; |
9、erase()
1 | string a="123456789"; |
c++ 栈的基本操作:
一种可以实现“先进后出(后进先出)”的存储结构
s.empty(); //如果栈为空则返回true, 否则返回false;
s.size(); //返回栈中元素的个数
s.top(); //返回栈顶元素, 但不删除该元素
s.pop(); //弹出/删除栈顶元素, 但不返回其值
s.push(); //将元素压入栈顶
在压栈的过程中,栈顶的位置一直在”向上“移动,而栈底是固定不变的。
如果我们要把栈中的元素弹出来: 先入后出
c++ queue 的基本操作
入队,如例:q.push(x); 将x 接到队列的末端。
出队,如例:q.pop(); 弹出队列的第一个元素,注意,并不会返回被弹出元素的值。
访问队首元素,如例:q.front(),即最早被压入队列的元素。
访问队尾元素,如例:q.back(),即最后被压入队列的元素。
判断队列空,如例:q.empty(),当队列空时,返回true。
访问队列中的元素个数,如例:q.size()