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;
}


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

C++ STL replace()函数常用用法详解

replace算法:                 replace函数包含于头文件#include中。               泛型算法replace把队列中与给定值相等的所有值替换为另一个...

[STL] 排序函数sort和qsort的用法与区别

(C++)STL排序函数sort和qsort的用法与区别 - 主要内容: 1、qsort的用法 2、sort的用法 3、qsort和sort的区别 qsort的用法: 原 型: void qso...

STL 中 sort 函数用法简介

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

c++ STL List查找遍历及各成员函数用法详细介绍

c++ STL List将元素按顺序储存在链表中. 与 向量(vectors)相比, 它允许快速的插入和删除,但是随机访问却比较慢.c++ STL List就是一双向链表,可高效地进行插入删除元素。包...

STL之list容器函数用法详解

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

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

函数说明参数都是一样的:make_heap(first ,last) make_heap(first ,last, cmpObject) 将[first, last)范围进行堆排序,默认使用less,...
  • fuyufjh
  • fuyufjh
  • 2015年07月30日 09:52
  • 1290

C++ STL replace()函数常用用法详解

replace算法:                 replace函数包含于头文件#include中。               泛型算法replace把队列中与给定值相等的所有值替换为另一个值,...

STL通用函数与list用法详解

本文转载自百度文库。作者如下。其中下面的count, count_if等函数的使用有些陈旧,如在编译时遇到问题,请百度。 标准模板库(STL)介绍   作者:Scott Field ...
  • bytxl
  • bytxl
  • 2015年05月11日 19:50
  • 619

整理:STL 中 sort 函数用法简介 && 七种 qsort 排序方法

一、STL 中 sort 函数用法简介     做 ACM 题的时候,排序是一种经常要用到的操作。如果每次都自己写个冒泡之类的 O(n^2) 排序,不但程序容易超时,而且浪费宝贵的比赛时间,还很有可...
  • bat67
  • bat67
  • 2016年07月27日 16:29
  • 245

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

c++ stl集合set介绍 c++ stl集合(Set)是一种包含已排序对象的关联容器。set/multiset会根据待定的排序准则,自动将元素排序。两者不同在于前者不允许元素重复,而后者允许。1)...
  • yuzeze
  • yuzeze
  • 2016年06月13日 10:44
  • 8437
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:STL 几个函数的用法
举报原因:
原因补充:

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