vector c++实现

什么是vector

首先,vector容器是一种牛到无视数据类型的存储容器,可以存放c语言的基本数据类型,还可以存放结构体,甚至是类,这正是我们想要的简单强大的工具,个人认为功能强于链表

怎么写一个vector?

首先需要包含这个头文件。

#include<vector>
using namespace std;
vector<int>vi;//存放整数的容器
vector<double>vd;//存放浮点数的容器
vector<string>vs;//存放字符串类型的容器
vector<struct a>va;//存放a结构体

作为一种数据结构,对比链表和栈大家不难发现,几乎所有存储结构都需要指针来参与操作,vector也不例外他也需要建立头指针。

    vector<int> ::iterator it;

对于这样的指针,我们把它叫做迭代指针。
在写程序的过程中,我们需要对使用过的内存随时释放,不能够只定义,不删除。vector也不例外,
它包含有erase(pos,n)这个类,用来删除从下标pos开始的n个字符。(比如erase(0,1)就是删除第一个字符 )

#include <iostream>
#include <vector>
using namespace std;
int main()
{
    int a[1000];
    vector<int> v;
    vector<int> ::iterator it;
   for(int i=0;i<10;i++)
   {
      v.push_back(i);//输入数据1~10
   }
    v.erase(v.begin(),v.end()-1);//删除这个区间段
   for(it=v.begin();it!=v.end();it++)
   {
      cout<<*it<<"\n";
   }
return 0;
}

不难发现,对vector的操作和链表几乎一样,都是由头尾两个指针来对数据进行操作(有效利用零散的内存空间)。

发布了9 篇原创文章 · 获赞 22 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/EIDoradol/article/details/104287966
今日推荐