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< ...
随机推荐
- 使用CSS实现折叠面板总结
任务目的 深入理解html中radio的特性 深入理解CSS选择器以及伪元素的使用 任务描述 使用input的radio单选框特性结合CSS中的伪元素实现bootstrap中折叠面板(点击查看样例), ...
- java后台生成并下载二维码
这个功能在项目开发中是很基础的,平时用到的也很多,这里简单记录一下,以便以后使用的时候参考 前提业务要求:前台页面展示数据,有下载按钮,点击下载,下载对应数据的二维码. 首先,在pom.xml文件中添 ...
- Hadoop fs 基础命令
操作hdfs的基本命令 在hdfs中,路径需要用绝对路径 1. 查看根目录 hadoop fs -ls / 2. 递归查看所有文件和文件夹 -lsr等同于-ls -R hadoop fs -lsr / ...
- Z字头:逐浪字库入选微软全球主流字体厂商列表
北京时间2019年6月20日消息: 来自中国的字库厂商--逐浪,成功获得全球软件巨擎.电子出版与数字印刷权威平台-微软的认证,成为获此国际认证的首家字体厂商. 微软公司为了更好的规范国际字库与出版,制 ...
- css3 HSLA 颜色制造半透明效果
简介 HSL色彩模式是工业界的一种颜色标准,是通过对色调(H).饱和度(S).亮度(L)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,HSL即是代表色调,饱和度,亮度三个通道的颜色, ...
- 你知道吗,Flutter内置了10多种Button控件
注意:无特殊说明,Flutter版本及Dart版本如下: Flutter版本: 1.12.13+hotfix.5 Dart版本: 2.7.0 Flutter内置了10多种Button(按钮)类控件供我 ...
- oracle中表空间管理,游标
一.表空间 oracle使用表空间来管理数据库的对象(表,序列,过程,函数,游标等). oracle的逻辑结构(看不见的):oracle数据库 => 表空间 => 表 序列 过程等对象. ...
- ubuntu 16.04服务器安装apache2 + php + mysql
具体操作 第一步:安装mysql apt-get install mysql-server mysql-client 第二步:安装apache2 apt-get install apache2 第三步 ...
- Shell中的参数传递
原文链接 我们先来定义一个方法 function methodName() { paramName1=$1 paramName2=$2 paramName3=$3 # 依此类推,参数是从1开始标号,而 ...
- 我的第一个html静态网页
<!doctype html> <html> <head> <title>王兆国的个人博客</title> ...