zoukankan      html  css  js  c++  java
  • uva10815 andy的字典(set的应用)

    【问题描述】输入一个文本,找出所有不同的单词(连续的字母序列),按字典序从小到大输出。单词不区分大小写。

    【样例输入】

    Adventures in Disneyland

    Two blondes were going to Disneyland when they came to a fork in the
    road. The sign read: "Disneyland Left."

    So they went home.

    【样例输出】
    a
    adventures
    blondes
    came
    disneyland
    fork
    going
    . . . . . . 

    set就是集合:每个元素最多出现一次。

    c++ stl集合(Set)是一种包含已排序对象的关联容器。

    set/multiset会根据待定的排序准则,自动将元素排序。两者不同在于前者不允许元素重复,而后者允许。
    c++ stl容器set成员函数:begin()--返回指向第一个元素的迭代器

    c++ stl容器set成员函数:clear()--清除所有元素

    c++ stl容器set成员函数:count()--返回某个值元素的个数

    c++ stl容器set成员函数:empty()--如果集合为空,返回true

    c++ stl容器set成员函数:end()--返回指向最后一个元素的迭代器

    c++ stl容器set成员函数:equal_range()--返回集合中与给定值相等的上下限的两个迭代器

    c++ stl容器set成员函数:erase()--删除集合中的元素

    c++ stl容器set成员函数:find()--返回一个指向被查找到元素的迭代器

    c++ stl容器set成员函数:get_allocator()--返回集合的分配器

    c++ stl容器set成员函数:insert()--在集合中插入元素

    c++ stl容器set成员函数:lower_bound()--返回指向大于(或等于)某值的第一个元素的迭代器

    c++ stl容器set成员函数:key_comp()--返回一个用于元素间值比较的函数

    c++ stl容器set成员函数:max_size()--返回集合能容纳的元素的最大限值

    c++ stl容器set成员函数:rbegin()--返回指向集合中最后一个元素的反向迭代器

    c++ stl容器set成员函数:rend()--返回指向集合中第一个元素的反向迭代器

    c++ stl容器set成员函数:size()--集合中元素的数目

    c++ stl容器set成员函数:swap()--交换两个集合变量

    c++ stl容器set成员函数:upper_bound()--返回大于某个值元素的迭代器

    c++ stl容器set成员函数:value_comp()--返回一个用于比较元素间的值的函数

    #include<iostream>
    #include<set>
    #include<string>
    #include<sstream>
    using namespace std;
     
    set<string> dict;
     
    int main()
    {
        string s, buf;
        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 >> buf)dict.insert(buf);
            for (set<string>::iterator it = dict.begin(); it != dict.end(); it++)
                cout << *it << endl;
        }
        return 0;
    }
  • 相关阅读:
    Servlet中通过过滤器实现统一的手动编码(解决中文乱码)
    【原】使用Maven完成自动化打包并部署到Linux服务器下(Tomcat7)
    XListview的下拉刷新、上拉加载、用Pull解析XML
    gson解析
    数据库查询
    Android中用友盟实现QQ的第三方登录
    Listview和checkbox多选
    ScrollView嵌套ViewPager 时候 Pager左右滑动不流畅
    字符串的截取
    倒计时
  • 原文地址:https://www.cnblogs.com/-ifrush/p/10143607.html
Copyright © 2011-2022 走看看