初入水:vector

 

---恢复内容开始---Vector 是一个类模板。不是一种数据类型。 Vector<int>是一种数据类型

      类的作用,是一种顺序容器,支持随机访问,可动态分配空间(扩充:销毁旧内存,更新迭代器),线性的数据结构

  《《《《    扩充:》》》》

 

vector容器类型

   vector容器是一个模板类,可以存放任何类型的对象(但必须是同一类对象)。vector对象可以在运行时高效地添加元素,并且vector中元素是连续存储的。

1.对象的操作:

1.push_back   在数组的最后添加一个数据

2.pop_back    去掉数组的最后一个数据 

3.at               得到编号位置的数据

4.begin           得到数组头的指针(用于迭代器

5.end             得到数组的最后一个单元+1的指针 (指向末端元素的下一个,不存在的元素

6.front        得到数组头的引用

7.back            得到数组的最后一个单元的引用

8.max_size     得到vector最大可以是多大

9.capacity       当前vector分配的大小

10.size           当前使用数据的大小(返回v中元素的个数,v.size()

11.resize         改变当前使用数据的大小,如果它比当前使用的大,者填充默认值

12.reserve      改变当前vecotr所分配空间的大小

13.erase         删除指针指向的数据项

14.clear          清空当前的vector

15.rbegin        将vector反转后的开始指针返回(其实就是原来的end-1)

16.rend          将vector反转构的结束指针返回(其实就是原来的begin-1)

17.empty        判断vector是否为空 (v.empty())

18.swap         与另一个vector交换数据

2.使用

a:数组习惯使用    (已知大小,索引元素

   oo: vector<int>v(10);类似定义数组,可用v[i]来访问

   oo:vector<int>v(10,-1);定义了v,包含10个int型初始值为-1

   oo: vector<int>v(a,a+6);int a{1,2,3,4,5,6,7};将a中的6个元素拷贝到v中

  1.  vector<string>s;//vector可被另一个vector初始化,也可赋值给另一个vector
  2.  void init_and_assigh()
  3.  {
  4.     vector<string>names(s);//另一个vector初始化
  5.     s=names;//拷贝
  6.  }

b:STL习惯用法定义空vector,插入元素,使用迭代器

 

//两种方法数据的存入和输出

 1 #include<cstdio>
 2 #include<vector>
 3 #include<iostream>
 4 using namespace std;
 5 int  main()
 6 {
 7     int i=0;
 8     vector<int>v;
 9     for(i=0;i<10;i++)
10     {
11         v.push_back(i);
12     }
13 /****************
14     for(i=0;i<v.size();i++)
15     {
16         cout<<v[i]<<" ";
17     }
18     cout<<endl;
19 *******************/
20     vector<int>::iterator iter;
21     for(iter=v.begin();iter!=v.end();iter++)
22     {
23         cout<<*iter<<endl;
24     }
25     return 0;
26 }//两种方法数据的存入输出
View Code

 

 //对二维的定义

 1 #include<cstdio>
 2 #include<vector>
 3 #include<iostream>
 4 using namespace std;
 5 int  main()
 6 {
 7     int i=0;
 8     vector<int>v;
 9     for(i=0;i<10;i++)
10     {
11         v.push_back(i);
12     }
13    /* for(i=0;i<v.size();i++)
14     {
15         cout<<v[i]<<" ";
16     }
17     cout<<endl;*/
18     vector<int>::iterator iter;
19     for(iter=v.begin();iter!=v.end();iter++)
20     {
21         cout<<*iter<<endl;
22     }
23     return 0;
24 }
View Code

 

 1 #include<stdio.h>
 2 #include<vector>
 3 #include<iostream>
 4 using namespace std;
 5 int  main()
 6 {
 7    int i=0,j=0;
 8    vector<vector<int> >Array;
 9    vector<int>line;
10    for(j=0;j<10;j++)
11    {
12        Array.push_back(line);//初始化,存入元素
13        for(i=0;i<9;i++)
14        {
15            Array[j].push_back(i);
16        }
17    }
18    for(j=0;j<10;j++)
19    {
20        for(i=0;i<Array[j].size();i++)
21        {
22            cout<<Array[j][i]<<" ";
23        }
24        cout<<endl;
25    }
26     return 0;
27 }
View Code

初学鄙陋,只看到了皮毛。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

---恢复内容结束---

转载于:https://www.cnblogs.com/yinqx/p/4708446.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值