zoukankan      html  css  js  c++  java
  • 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(); //清空全部

  • 相关阅读:
    对deferred(延迟对象)的理解
    string 、char* 、 char []的转换
    char* 和 cha[]
    层序遍历二叉树
    之字形打印二叉树
    右值
    函数指针(待修改)
    top k

    哈夫曼编码
  • 原文地址:https://www.cnblogs.com/yangsongwei/p/8688374.html
Copyright © 2011-2022 走看看