stl容器 简介

STL初步之容器

一、algorithm 库:

  1、函数 min()

  2、Sort()函数  对容器内的内容进行排序。

    应用:

    对数组进行排序,Sort(a,a+n);

    对vector进行排序,Sort(v.begin(),v.end());

  3、unique函数:

    可以删除有序数组内的重复元素。

二、容器:

  1、不定长数组 vector

    在  #include<vector>  类库中

    Vector a;

  •     a.size()   //获取a的大小
  •     a.push_back()  //a的末尾添加元素
  •     a.pop_back()   //删除最后一个元素
  •     a.clear()       //将数据清空
  •     a.empty()      //测试是否为空

    定义:

      Vector<type> a;

      Vector<int> a;

    使用迭代器来访问元素

      vector<string> v6 = { "hi","my","name","is","lee" };for (vector<string>::iterator iter = v6.begin(); iter != v6.end(); iter++)

        {

            cout << *iter << endl;

            //下面两种方法都行

            cout << (*iter).empty() << endl;

            cout << iter->empty() << endl;

        }

   使用反向迭代器

        for (vector<string>::reverse_iterator iter = v6.rbegin(); iter != v6.rend(); iter++)

        {

            cout << *iter << endl;

 

        }

2、集合set:

    和vector类似,set里面的元素是有序的且是唯一的。

3、字符串String

    表示可变字符串

    在库   #include<string>  

    操作:

  •      getline(cin,s)  is中读取一行赋给s,返回is
  •      s.empty()   s为空返回true,否则返回false
  •      s.size()     返回s中字符的个数
  •      s[n]        返回s中第n个字符的引用,位置n0记起
  •      迭代器操作:

          string str("hi sysu");for (string::iterator it = str.begin(); it != str.end(); it++)

            {

                cout << *it << endl;

            }

 

4、list:

    是一个双向列表,

    #include<list>

5、map:

  #include<map>

  对map的遍历:

    for (map<string, int>::iterator it = v.begin();it !=v.end(); it++)

      {

          cout << it->first << "  " << it->second << endl;  //注意用法,不是用*it来访问了。first表示的是keysecond存的是value

  }

   m1.erase("Curry");//通过关键字来删除

  m1.insert(pair<string, int>("Harris", 89)); //也可以通过insert函数来实现增加元素

  m1.clear(); //清空全部

原文地址:https://www.cnblogs.com/yangsongwei/p/8688374.html