博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
stl容器 简介
阅读量:7218 次
发布时间:2019-06-29

本文共 1688 字,大约阅读时间需要 5 分钟。

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

你可能感兴趣的文章
从零开始学习PYTHON3讲义(十一)计算器升级啦
查看>>
从零开始学习PYTHON3讲义(三)写第一个程序
查看>>
WebGis设计模式
查看>>
cocos2dx ScrollView 测试一 触摸事件优先级和自动调整
查看>>
django 使用mysql数据库的流程
查看>>
Android系统移植与调试之------->如何修改Android设备的默认休眠时间
查看>>
我的Android进阶之旅------>Java文件大小转换工具类 (B,KB,MB,GB,TB,PB之间的大小转换)...
查看>>
uboot 传递的参数 mtdparts
查看>>
六种排序算法C语言版(上)
查看>>
292. Nim Game(easy)
查看>>
ERROR 1786 (HY000)
查看>>
Kubernetes 学习7 Pod控制器应用进阶2
查看>>
Python字符串相加以及字符串格式化
查看>>
11.08 轮换行值
查看>>
AIX lsof 命令
查看>>
微信小程序个人项目(node.js+koa2+koa-router+middleware+mysql+node-mysql-promise+axios)
查看>>
C#温故而知新学习系列之面向对象编程—类的数据成员(三)
查看>>
列表字典推导式
查看>>
HDOJ 1228 A+B(map水题)
查看>>
intellij IDEA 导入包的方法·
查看>>