STL 几个函数的用法

原创 2015年07月07日 15:57:12
#include <iostream>
#include <cassert>
#include <algorithm>
#include <vector>
#include <string>
#include <iterator>
 using namespace std;

 int main()
{
    //cout<<"Illustrating the generic unique algorithm."<<endl;
    const int N=11;
    int array1[N]={1,2,0,3,3,0,7,7,7,0,8};
    vector<int> vector1;
    for (int i=0;i<N;++i)
        vector1.push_back(array1[i]);

    vector<int>::iterator new_end;
    new_end=unique(vector1.begin(),vector1.end());    //"删除"相邻的重复元素
    cout<<*new_end<<endl;
    for(int i=0;i<=N;i++)
        cout<<vector1[i]<<' ';
    cout<<endl;
    assert(vector1.size()==N);

    vector1.erase(new_end,vector1.end());  //删除(真正的删除)重复的元素
    copy(vector1.begin(),vector1.end(),ostream_iterator<int>(cout," "));
    cout<<endl;

    return 0;
}



//使用unique_copy算法
//将一个list对象中不重复的元素赋值到一个空的vector对象中
#include<iostream>
#include<list>
#include<vector>
#include<algorithm>
using namespace std;

int main()
{
    int ia[7] = {5 , 2 , 2 , 2 , 100 , 5 , 2};
    list<int> ilst(ia , ia + 7);
    vector<int> ivec;

    //将list对象ilst中不重复的元素复制到空的vector对象ivec中
    //sort(ilst.begin() , ilst.end());  //不能用此种排序,会报错
    ilst.sort();  //在进行复制之前要先排序,切记
    unique_copy(ilst.begin() , ilst.end() , back_inserter(ivec));

    //输出vector容器
    cout<<"vector: "<<endl;
    for(vector<int>::iterator iter = ivec.begin() ; iter != ivec.end() ; ++iter)
        cout<<*iter<<" ";
    cout<<endl;

    return 0;
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

php中print_r、var_dump和var_export几个函数的用法区别

下面介绍一下print_r、var_dump、var_export几个函数的用法区别,他们都是用来打印数组对象。 1、print_r ( $array/$var ) print 是打...

php中print_r、var_dump和var_export几个函数的用法区别

转自:http://yangbinfx.iteye.com/blog/1995228 1、print_r ( $array/$var )  print 是打印的意思,而r则取自Ar...
  • ltx06
  • ltx06
  • 2015-05-05 13:21
  • 631

c++ stl容器set成员函数介绍及set集合插入,遍历等用法举例

c++ stl集合set介绍 c++ stl集合(Set)是一种包含已排序对象的关联容器。set/multiset会根据待定的排序准则,自动将元素排序。两者不同在于前者不允许元素重复,而后者允许。1)...

STL之map函数用法(九阴真经)

Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候...

c++ 标准模板库 STL 算法之 for_each 函数的使用用法详解

std::for_each template Function for_each (InputIterator first, InputIterator last, Function f...

STL中heap相关函数的用法:make_heap,push_heap,pop_heap...

函数说明参数都是一样的:make_heap(first ,last) make_heap(first ,last, cmpObject) 将[first, last)范围进行堆排序,默认使用less,...

STL之list容器函数用法详解

List 容器 list是C++标准模版库(STL,Standard Template Library)中的部分内容。实际上,list容器就是一个双向链表,可以高效地进行插入删除元素。 使...

STL 中 sort 函数用法简介

来源:http://wenku.baidu.com/link?url=utWJ8Vbqd4YMIKG74SwwH2MARy88oASEGVY4Ja1dxMh6CpLY8m5SIco0aCHYzbjmt...

STL 中 sort 函数用法简介

做 ACM 题的时候,排序是一种经常要用到的操作。如果每次都自己写个冒泡之类的 O(n^2) 排序,不但程序容易超时,而且浪费宝贵的比赛时间,还很有可能写错。  STL 里面有个 sort 函数,可...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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