• vector


    标准库 vector 类型

    vector 是同一种类型的对象的集合,每个对象都有一个对应的整数索引值。

    我们把vector称为容器,是因为它可以包含其他对象,一个容器中所有对象都必须是同一种类型。

    vector是一个类模板(class template),使用模板可以编写一个类定义或函数定义,,而用于多个不同数据类型。

    例1:

    vector<int> ivec;

    vector<Sales_item>Sales_vec;

    定义vector对象要指定类型和一个变量的列表

    上面第一个定义,类型是 vector<int>,该类型既是含有若干int类型对象的vector,变量名为 ivec。

    第二个定义,变量名是 Sales_vec,它所保存的元素是Sales_item类型的对象。

     vector不是一种数据类型,而只是一个类模板,可用于定义任意多种类型。vector类型的每一种都指定了其保存元素的类型。因此,vector<int>和vector<string>都是数据类型。

    列出 初始化vector构造函数:

    vector<T> v1; vector 保存类型为T对象
      默认构造函数v1为空
    vector<T> v2(v1); v2是v1的一个副本
    vector<T> v3(n,i); v3包含n个值为 i 的元素。
    vector<T> v4(n); v4 含有值初始化的元素的n个副本。

    例2:

    View Code
     1 #include<iostream>
     2 #include<vector>//包含头文件
     3 using namespace std;
     4 using std::vector;
     5 int main()
     6 {
     7 
     8      
     9     vector <int> s(10,-1);//10  elements,each initialized to -1
    10 
    11     for(int i =0;i<s.size();++i)
    12     {
    13         cout<<s[i]<<endl;
    14     }
    15 
    16      return 0;
    17 
    18 }

     输出结果:

     二 .vector对象的操作

                                                                                        表中列出几种最重要的vector操作

    v.empty() 如果v为空,则返回true,否则返回false
    v.push_back(t) 在v的末尾增加一个值为t的元素
    v[n] 返回v中位置为n的元素
    v1=v2 把v1的元素替换为v2中元素的副本
    v1==v2 如果v1与v2相等,则返回 true
    v.size() 返回v中元素的个数
    !=,<,<=,>,>= 保持这些操作符惯有的含义

    1.使用size_type类型时,必须指出该类型是在哪里定义的。

    vector<int>::size_type  //ok

    vector::size_type //error

    2.向vector添加元素

       push_back 操作接受一个元素值,并将它作为一个新的元素添加到vector对象的后面,也就是“放在”到对象的“后面”:

     例子:

    View Code
     1 #include<iostream>
     2 #include<vector>//包含头文件
     3 #include<string>
     4 using namespace std;
     5 using std::string;
     6 using std::vector;
     7 int main()
     8 {
     9     string word;
    10     vector<string> text;// empty vector
    11     while(cin>>word)
    12     {
    13        text.push_back(word); // append word to text
    14     }
    15     return 0;
    16         
    17 
    18 }
  • 相关阅读:
    volley框架使用
    Insert Interval
    candy(贪心)
    Best Time to Buy and Sell Stock
    Best Time to Buy and Sell Stock III
    distinct subsequences
    edit distance(编辑距离,两个字符串之间相似性的问题)
    trapping rain water
    word break II(单词切分)
    sudoku solver(数独)
  • 原文地址:https://www.cnblogs.com/canyuexingchen/p/2633610.html
Copyright © 2020-2023  润新知