删除算法3 unique 将连续相同的数删除
来源:互联网 发布:企业数据标准化 编辑:程序博客网 时间:2024/05/16 13:01
#include <iostream>#include <algorithm>#include <list>#include <set>#include <functional>#include <iterator>using namespace std;bool differenceOne(int elem1, int elem2){return elem1 + 1 == elem2 || elem1 - 1 == elem2;}int main(){int source[] = { 1, 5, 5, 6, 8, 9, 2, 2, 2, 5, 4, 4, 4, 1, 3, 5, 2 };int sourceNum = sizeof(source) / sizeof(source[0]);list<int> ilist;copy(source, source + sourceNum, back_inserter(ilist));for (list<int>::iterator iter = ilist.begin(); iter != ilist.end(); ++iter)cout << *iter << ' ';cout << endl; cout << endl << endl;list<int>::iterator pos;pos = unique(ilist.begin(), ilist.end()); // unique()是将连续的重复的数删除掉,for (list<int>::iterator iter = ilist.begin(); iter != pos; ++iter)cout << *iter << ' ';cout << endl;copy(source, source + sourceNum, ilist.begin());for (list<int>::iterator iter = ilist.begin(); iter != ilist.end(); ++iter)cout << *iter << ' ';cout << endl;pos = unique(ilist.begin(), ilist.end(),greater<int>()); // unique()是将连续的重复的数删除掉,//greater<int>()这个是比较一个数与前边的数进行比较,要是比前边的小就将其删除掉,要是比前边的数大继续用这个大的数与下一个数进行比较,// 最后排出来的结果是从小到大排序的,for (list<int>::iterator iter = ilist.begin(); iter != pos; ++iter)cout << *iter << ' ';cout << endl;cout << endl;copy(source, source + sourceNum, ilist.begin());for (list<int>::iterator iter = ilist.begin(); iter != ilist.end(); ++iter)cout << *iter << ' ';cout << endl;unique_copy(ilist.begin(), ilist.end(), ostream_iterator<int>(cout, " "));cout << endl;cout << endl;// 这是谓词unique_copy(ilist.begin(), ilist.end(), ostream_iterator<int>(cout, " "),differenceOne);cout << endl;return 0;}
0 0
- 删除算法3 unique 将连续相同的数删除
- 删除连续相同的字符串
- 一道算法题---把字符串内连续相同字符删除
- 删除序列中相同的数
- 【原】完全删除字符串中连续相同的字符
- 删除相同的结点
- 删除相同的记录
- 给定数组删除多余允许的相同的数
- 将n个字符串中相同的字符串删除
- 128.删除一维数组中相同的数
- (C++)删除整型数列中相同的数
- C++ STL 算法:删除算法(3)unique、unique_copy
- 删除连续的空行
- 九、STL算法-删除算法(unique、remove)
- 在单链表中删除值相同的多余结点的算法。
- 算法--循环单链表删除数值相同的元素
- unique约束的删除方法
- STL_算法_删除(unique、unique_copy)
- UITableView 编辑状态(删除、添加、移动)
- 结果集控制器 的大致运用4步
- struts 点击jar包中的文件Path must include project and resource name: /struts-default.xml
- Linux 驱动开发之内核模块开发 (三)—— 模块传参
- 第六届蓝桥杯 软件类省赛真题 第二题:立方尾不变
- 删除算法3 unique 将连续相同的数删除
- java 模拟登陆正方教务系统
- Android APP字体大小,不随系统的字体大小变化而变化的方法
- 用PHP实现n的阶乘--高精度算法
- 51nod1289 大鱼吃小鱼
- 给出一个有效的算法来确定在整数A1<A2<A3<...<AN的数组中是否存在整数i使得Ai=i
- C++ list 初识
- 更改数据库表名
- 1079. Total Sales of Supply Chain (25)