STL之set_uva10815

原创 2016年04月15日 23:07:53

Andy, 8, has a dream - he wants to produce his very own dictionary. This is not an easy task for him, as the number of words that he knows is, well, not quite enough. Instead of thinking up all the words himself, he has a briliant idea. From his bookshelf he would pick one of his favourite story books, from which he would copy out all the distinct words. By arranging the words in alphabetical order, he is done! Of course, it is a really time-consuming job, and this is where a computer program is helpful.

You are asked to write a program that lists all the different words in the input text. In this problem, a word is defined as a consecutive sequence of alphabets, in upper and/or lower case. Words with only one letter are also to be considered. Furthermore, your program must be CaSe InSeNsItIvE. For example, words like "Apple", "apple" or "APPLE" must be considered the same.

Input

The input file is a text with no more than 5000 lines. An input line has at most 200 characters. Input is terminated by EOF.

Output

Your output should give a list of different words that appears in the input text, one in a line. The words should all be in lower case, sorted in alphabetical order. You can be sure that he number of distinct words in the text does not exceed 5000.

Sample Input

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.

Sample Output

a
adventures
blondes
came
disneyland
fork
going
home
in
left
read
road
sign
so
the
they
to
two
went
were
when


/*
* Filename:    code.cpp
* Created:     2016-04-15
* Author:        yunlong Wang  
*[mail:17744454343@163.com]
* Desciption:  Desciption
*/
<span style="font-size:18px;">#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <stack>
#include <queue>
#include <algorithm>
#include <cstring>
#include <cmath>
#include <vector>
#include <bitset>
#include <list>
#include <sstream>
#include <set>
#include <functional>

using namespace std;

#define INT_MAX 1 << 30
#define MAX 100

typedef long long ll;

int n;
set<string>dic;

int main(int argc, char const* argv[])
{
    string s,every;
    while (cin >> s)                            //用string和用char数组时操作要格外区分
    {
        for (int i = 0; i < s.length(); i += 1)
        {
            if (isalpha(s[i]))                  //判断是否为英文字母。。。
            {
                s[i] = tolower(s[i]);           //变为小写
            }
            else
            {
                s[i] = ' ';
            }
        }
        stringstream ss(s);                     //创建一个字符串流
        while (ss >> every)                     //读取每个字符串并放入set中
        {
            dic.insert(every);                  //set有自动排序这一功能
        }
    }
    for (set<string>::iterator i = dic.begin(); i != dic.end(); i++)    //set<string>::iterator为引用,相当于指针.
    {
        cout << *i << endl;
    }
    return 0;
}</span>


版权声明:欢迎指出文中的错误和不足之处

STL之queque队列

queue队列容器 一、原理     queue 队列也是一个线性存储表,元素数据的插入在表的一端进行,在另一端删除,从而构成了一个先进先出FIFO(First In First Out)...
  • memewry
  • memewry
  • 2012年07月24日 23:55
  • 15113

C++ STL之vector详解

Vectors    vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型...
  • L_Andy
  • L_Andy
  • 2014年09月04日 12:47
  • 12015

stl之string类用法详细总结

标准c++中String类非常强大,合理使用,能极大提高编程效率,下面就对string类的用法进行总结。 头文件 #include String类的构造函数如下: 1)    string s; //...
  • u010418035
  • u010418035
  • 2015年07月02日 17:31
  • 2297

C++ STL nth_element原理与应用

LZ最近的考试中,某题可以通过调用nth_element()来水过70%的数据 但是LZ并不会啊(历史总是惊人的相似) 于是就有了这篇blog在编写代码时,有时会有“在一个无序表中快速得到第K小的...
  • linkfqy
  • linkfqy
  • 2017年07月09日 08:57
  • 1716

STL::array之数组容器

本文是Devour Heavens撰写整理的关于C++标准库的知识,所有资料均来自于C++官方文档,欢迎转载。但是为了尊重原作者的劳动,请注明出处!谢谢!  模板类 array template...
  • devourHeavens
  • devourHeavens
  • 2012年04月07日 11:46
  • 8718

C++ STL简单介绍

STL(Standard Template Library,标准模板库)是C++对泛型编程思想的实现,最早是惠普实验室开发的。 在被引入C++之前该技术就已经存在了非常长的一段时间。后来STL成为A...
  • w_16822
  • w_16822
  • 2016年10月14日 10:53
  • 257

STL学习笔记— —特殊容器priority_queue

简介在头文件 中定义namespace std { template class priority_q
  • lyh03601
  • lyh03601
  • 2016年05月04日 17:41
  • 4878

树-堆结构练习——合并果子之哈夫曼树(STL)

Description  在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆。多多决定把所有的果子合成一堆。 每一次合并,多多可以把两堆果子合并到一起,消耗的体力等于两堆...
  • u013486414
  • u013486414
  • 2014年08月04日 09:59
  • 636

STL 堆heap的用法

STL中并没有把heap作为一种容器组件,heap的实现亦需要更低一层的容器组件(诸如list,array,vector)作为其底层机制。Heap是一个类属算法,包含在algorithm头文件中。虽然...
  • zsc2014030403015
  • zsc2014030403015
  • 2015年05月20日 16:51
  • 898

STL标准库中的bitset原理解析

STL标准库中的bitset原理解析bitset简介  bitset,中文叫位图,类似于每一个元素都是0或者1的数组,但位图的空间利用率比数组高很多。在Linux系统中,位图广泛应用于进程id的分配和...
  • u012069890
  • u012069890
  • 2017年03月01日 15:23
  • 1075
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:STL之set_uva10815
举报原因:
原因补充:

(最多只允许输入30个字)