• [STL] UVA 10815 安迪的第一个字典 Andy's First Dictionary


    1、set

    集合 哦....对了,set有自动按照字典序排序功能。。。。。

    声明和插入操作

    #include <cstdio>
    #include <vector>
    #include <set>
    using namespace std;
    int main(){
            vector<int> v;
            for (int i = 0; i < 10; i++)
            {
                    v.push_back(i);
                    v.push_back(i);
            }
            set<int> s;
            s.insert(v.begin(), v.end());
            //因为是集合,所以重复的元素不会被重复插入
            for (set<int>::iterator it = s.begin(); it != s.end(); it++)
                    printf("%d
    ", *it);
            printf("
    ");
            return 0;
    }

    删除操作

    这个一般都用的是erase()--->删除指定的元素或者删除指定部分的元素 和 clear()--->清除所有元素 操作如下:

        set<int> s;
        s.erase(2);        
        s.clear();

    查找操作

    set支持upper_bound() lower_bound() find()等操作 举个例子:

       set<int> s;
       set<int>::iterator it;
       it = s.find(5);    //查找键值为5的元素
       if (it != s.end())    //找到了 
       cout << *it << endl;

    2、isalpha()

    判断字符ch是否为英文字母,若为英文字母,返回非0(小写字母为2,大写字母为1)。若不是字母,返回0。 具体用法见下

    3、stringstream()

    输入输出转换操作 具体用法见下

    4、tolower()

    是一种函数,功能是把字母字符转换成小写,非字母字符不做出处理。 具体用法见下

    下面是该题代码:

      

    #include<cstdio>
    #include<iostream>
    #include<algorithm>
    #include<cstring>
    #include<sstream>
    #include<set>
    using namespace std;
    set<string>aa;
    string s,cur;
    int main(){
        std::ios::sync_with_stdio(false);
        while(cin>>s)
        {
            for(int i=0;i<s.length();i++)
            {
                if(isalpha(s[i]))  s[i]=tolower(s[i]);
                else s[i]=' ';
            }
            stringstream ss(s);
            while(ss>>cur)  
                aa.insert(cur);
        }
        for(set<string>::iterator it=aa.begin();it!=aa.end();it++)
        {
            cout<<*it<<endl;
        }
        return 0;
    }
    

      

  • 相关阅读:
    Linux基础命令---nfsstat显示nfs信息
    Linux基础命令----smbclient
    Myeclipse10下载,安装,破解,插件,优化介绍
    MyEclipse常用插件使用教程
    MyEclipse10 中的两种FreeMarker插件的安装与配置
    导入项目名称重复
    append,appendTo和prepend #1daae2
    Java Session超时设置
    jquery刷新页面
    windows不能显示此连接属性。windows management instrumentation (WMI) 信息可能损坏
  • 原文地址:https://www.cnblogs.com/TbIblog/p/11193641.html
Copyright © 2020-2023  润新知