STL set
UVA10815 AC码
#include<iostream> #include<string> #include<set> #include<sstream> using namespace std; string s,buf; set<string> dict; //string集合 int main() { while(cin>>s) { for(int i=0;i<s.length();i++) { if(isalpha(s[i])) s[i]=tolower(s[i]); //如果是英文字符则转换成小写 else s[i]=' '; //若果不是则变成space } stringstream ss(s); while(ss>>buf) dict.insert(buf); } for(set<string>::iterator it=dict.begin();it!=dict.end();it++) cout<<*it<<endl; return 0; }
很多函数
isalpha( )
头文件:#include<cctype>
该头文件下的函数:
isalpha( ) // 判断是否为大小写英文(大返回1,小返回2,非返回0) islower( ) //判断是否为小写 isupper( ) //判断是否为大写 isalnum( ) //判断是否为大小写和数字 isblank( ) //space isspace( ) //space
stringstream
可用于数据类型转换
输入输出操作
学习博客1:https://blog.csdn.net/xw20084898/article/details/21939811?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task
学习博客2:https://blog.csdn.net/liitdar/article/details/82598039?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task
示例代码
#include <string> #include <sstream> #include <iostream> #include <stdio.h> using namespace std; int main() { stringstream sstream; string strResult; int nValue = 1000; // 将int类型的值放入输入流中 sstream << nValue; // 从sstream中抽取前面插入的int类型的值,赋给string类型 sstream >> strResult; cout << "[cout]strResult is: " << strResult << endl; printf("[printf]strResult is: %s ", strResult.c_str()); return 0;
结果如下:
tolower
头文件:#include<iostream>
用法:字母字符转换成小写,非字母字符不做出处理
迭代器(STL容器中的指针)
和指针用法类似
声明:
set<string>::iterator 变量名