list容器排除重复单词的程序
#include<iostream>
#include<fstream>
#include<string>
#include<algorithm>
#include<list>
using namespace std;
ifstream & open_file(ifstream & read, const string & file_name)
{
read.close();
read.clear();
read.open(file_name.c_str());
return read;
} int main()
{
string file_name;
list < string > lis;
string word;
cout << "input the file_name: " << endl;
cin >> file_name;
cin.clear();
ifstream read;
open_file(read, file_name);
while (read >> word) {
lis.push_back(word);
}
cout << "the list is: " << endl;
for (list < string >::iterator iter = lis.begin(); iter != lis.end();
++iter) {
cout << *iter << " ";
}
cout << endl;
lis.sort();
lis.unique();
cout << "the change list: " << endl;
for (list < string >::iterator iter = lis.begin(); iter != lis.end();
++iter) {
cout << *iter << " ";
}
return ;
}
PS:
- 1. list 容器不支持随机访问迭代器,不能运用泛型算法里的sort算法,用list特有算法sort
- 形式有两种: lis.sort();默认操作符<进行比较 lis.sort(comp);use function comp to compare elements
- 2. unique function 至少支持前向迭代器,list容器可以用泛型算法的unique,也可以用特有算法unique,其作用是删除相邻重复的数据.
- 二者差别: 泛型算法的unique将无重复的元素复制到序列的前端,从而覆盖相邻的重复元素,将重复元素移到序列的末端, 返回的迭代器指向超出无重复元素范围末端的下一位置。 list特有unique算法将重复元素删除出该容器
- 3. sort函数将元素重新排列,如何将文本恢复原来的顺序呢??
list容器排除重复单词的程序的更多相关文章
- SQL排除重复结果只取字段最大值
如何用SQL排除重复结果只取字段最大值的记录?要求得到的结果(即是PID相同的记录只取ID值最大的那一条). select * from [Sheet1$] a from [Sheet1$] wher ...
- 第一章 flex单词计数程序
学习Flex&Bison目标, 读懂SQLite中SQL解析部分代码 Flex&Bison简介Flex做词法分析Bison做语法分析 第一个Flex程序, wc.fl, 单词计数程序 ...
- 77. Combinations (java 求C(n,k)的组合,排除重复元素)
题目: Given two integers n and k, return all possible combinations of k numbers out of 1 ... n. 解析:同求全 ...
- Java如何在正则表达式中匹配重复单词?
在Java编程中,如何在正则表达式中匹配重复单词? 以下示例显示了如何使用regex.Matcher类的p.matcher()方法和m.group()方法在正则表达式中搜索重复的单词. package ...
- jquery 排除重复
应用场景——双盒选择器 两个select可能会出现重复的情况 排除重复代码如下: /** * 删除$fromGroup中与$toGroup重复的option * @param $fromGroup = ...
- sql2008百万级数据排除重复信息
--高性能排除重复select userid from table where userid in ( select userid from ( select userid, row_number() ...
- 【Storm】storm安装、配置、使用以及Storm单词计数程序的实例分析
前言:阅读笔记 storm和hadoop集群非常像.hadoop执行mr.storm执行topologies. mr和topologies最关键的不同点是:mr执行终于会结束,而topologies永 ...
- Hadoop分布环境搭建步骤,及自带MapReduce单词计数程序实现
Hadoop分布环境搭建步骤: 1.软硬件环境 CentOS 7.2 64 位 JDK- 1.8 Hadoo p- 2.7.4 2.安装SSH sudo yum install openssh-cli ...
- 编写一个小程序,从标准输入读入一系列string对象,寻找连续重复出现的单词。程序应该找出满足一下条件的单词:该单词的后面紧接着再次出现自己本身。跟踪重复次数最多的单词及其重复次数,输出.
// test13.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include<iostream> #include< ...
随机推荐
- OpenCV图像增强(python)
为了得到更加清晰的图像我们需要通过技术对图像进行处理,比如使用对比度增强的方法来处理图像,对比度增强就是对图像输出的灰度级放大到指定的程度,获得图像质量的提升.本文主要通过代码的方式,通过OpenCV ...
- disruptor 多生产者多消费者实战 四
一.创建event类 Order public class Order { private String id; private String name; private double price; ...
- vue安卓4.4.2页面打不开的坑
项目上线两三天,有保障说安卓下面页面打不开,所以查了下具体原因,系统版本过低,安卓4.4.2,然后发现本地没有babel-polyfill的包,具体解决方案如下: 1,npm 安装 npm insta ...
- Distance function for sqlite
Distance function for sqlite Posted on October 25, 2008 by Dave As part of an iPhone SDK project, I ...
- yolo3各部分代码详解(超详细)
0.摘要 最近一段时间在学习yolo3,看了很多博客,理解了一些理论知识,但是学起来还是有些吃力,之后看了源码,才有了更进一步的理解.在这里,我不在赘述网络方面的代码,网络方面的代码比较容易理解,下面 ...
- centos7下pymysql安装
1. 安装 添加mysql yum respository 添加 MySQL Yum Repository 到你的系统 repository 列表中,执行 wget http://repo.mysql ...
- java面试汇总一
第一部分 Java SE基础(1) 1.1 java的8种基本数据类型 装箱 拆箱 1.1.1 8种基本的数据类型 1.1.2装箱 拆箱 自动装箱是 Java 编译器在基本数据类型和对应的对象包 ...
- 洛谷P1000超级马里奥的神奇解法
话说上过洛谷的都知道,有一道经典例题P1000超级马里奥,这一题,可以说是非常简单非常经典,但是就算如此,还是可以人才辈出,我是个比较循规蹈矩的人(雾),所以我的代码就比较平常,也就是直接输出了所要求 ...
- LeetCode-最长回文串
题目描述: 给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串. 在构造过程中,请注意区分大小写.比如 "Aa" 不能当做一个回文字符串. 注意:假设字符 ...
- java-字节流练习(新手)
参考手册: 关键字: FileInputStream() Input是从硬盘到内存 FileOutputStream() 而output是从内存到硬盘,所以实现了复制粘贴. read() 调用方法读取 ...