STL容器语法( 三 )

<< findStr.rfind('o') << endl;}return 0;}
运行结果:
(3.5)替换
#includeusing namespace std;int main(){string reStr("ILoveyou");reStr.replace(1,4,"Miss");cout << reStr << endl;reStr = "ILoveyou"; //重置cout << reStr << endl;reStr.replace(1,4,"IMissyou",1,4);cout << reStr << endl;reStr.replace(1,4,4,'o');cout << reStr << endl;//先用find找到子串的下标,然后进行替换int n = reStr.find("yo");reStr.replace(n,2,"ee");cout << reStr << endl;return 0;}
运行结果:
(3.6)删除子串:erase
#includeusing namespace std;int main(){string deStr("ILoveyou");//从下标1到下标4deStr.erase(1,4);cout << deStr << endl;//从下标1往后全部删除deStr.erase(1);cout << deStr <
运行结果:
例题:I (9). 最长单词 题目描述
输入1行句子(不多于200个单词,每个单词长度不超过100),只包含字母和空格 。单词由至少一个连续的字母构成,空格是单词间的间隔 。
试输出第1个最长的单词 。注意:如果所有单词长度相同,那么第一个单词就是最长单词 。
输入描述
一行句子 。
输出描述
1行,第一个最长的单词 。
样例
样例运行正确并不代表程序没有漏洞,判题服务将使用大量数据对你的程序进行评测 。
输入
I am studying Programming language C in Peking University
输出
Programming
AC Code:
#includeusing namespace std;int main() {string s;getline(cin,s);s+=' ';//在字符串最后加上空格,保证每个单词后面都有空格int ma=0;string maxx;while(s.size()>0)//字符串不为空{int x=s.find(' ');//第一次出现’ ‘的位置string a=s.substr(0,x);//substr截取:从位置0开始截取x个字符s.replace(0,x+1,""); //替换,从位置0开始,用空替换这x+1个字符int len=a.size();//计算长度if(len>ma)//比较,然后两次更新maxx=a,ma=len;}cout<
3.pair
pair a;cin >> a.first >> a.second;cout << a.first << '\n' << a.second << '\n';
pair a;int n;string s;cin >> n >> s;a={n,s};cout << a.first << '\n' << a.second << '\n';return 0;
4.栈(stack) 认识栈
#include#include//栈的头文件stack s;int main(){//栈是一种数据结构,只能从一个方向插入元素且先入栈的元素后被取出来!}
栈(stack)的基本用法
int main(){int n = read();stack sta;for (int i = 0; i < n; i++){int t = read();sta.push(t); // 压入元素}cout << sta.empty() << '\n'; // 判断栈是否为空while (sta.size())// 返回元素个数{cout << sta.top() << '\n';// 取栈顶元素并输出sta.pop();// 删除栈顶元素}return 0;}
数组模拟
int main(){int n = read();int sta[100] = {0};int tail = 0;for (int i = 0; i < n; i++){int t = read();sta[tail++] = t;}for (int i = tail - 1; i >= 0; i--)cout << sta[i] << '\n';return 0;}
4.队列(queue) 认识队列
#includeusing namespace std;#include//队列的头文件queue q;int main(){//队列存储元素的特点:有入口有出口,先进先出return 0;}
队列的基本用法