,,C++中vector的用法实例解析

,,C++中vector的用法实例解析

本文主要介绍了向量在C语言中的用法,并详细描述了向量的各种常见用法和注意事项。有需要的朋友可以参考一下。

本文演示了vector在C中的使用,与大家分享,供大家参考。如下所示:

一、概述

Vector是C标准模板库的一部分。它是一个多功能的模板类和函数库,可以操作多种数据结构和算法。Vector是一个可以存储各种类型对象的容器。简单来说,vector是一个动态数组,可以存储任意类型,大小可以动态改变。

例如:

//c语言风格

int my house[100];

//使用矢量

向量向量库(100);

如上定义,vecMyHouse可以存储100个int数据。

1.它可以像普通数组一样被访问

例如:

vecMyHouse[50]=1024;

2.您可以按顺序用数据填充容器。

例如:

int I=0;

for(;i 25我)

{

vecmyhouse . push _ back(1);

}

3.它还可以动态地改变它的大小,这是通过下面的语句实现的

将容器的大小改为400,这样容器可以容纳400个int数据。

例如:

vecmyhouse . resize(400);

4.您还可以在容器中加载自定义数据类型。

例如:

//自定义一个类

Cmyclass类

{

};

//定义一个容器来存储该类

vectorCmyclass vecMyHouse

5.您可以在定义容器时为其分配一个初始值。

//定义一个包含100个int数据的容器,初始值为0。

向量vecMyHouse(100,0);

6.您可以将一个容器中的对象分配给另一个容器。

例如:

//定义一个包含100个int数据的容器,初始值为0。

向量vecMyHouse(100,0);

//定义一个与上述容器内容相同的新容器

向量myVec

myVec=vecMyHouse

二、 以上是vector容器的简单介绍,下面将详细介绍它的其他功能:

1.为了使用vector,您必须在头文件中包含以下代码:

#包含矢量

2.vector属于std命名域,需要用命名来限定,可以加在文件的开头。

使用STD:vector;

或者

使用命名空间std

或者直接使用vector作为代码的前缀。

例如:

STD:vector int my house;

3.vector提供以下功能或操作:

下面列出了一些常用的函数。

//定义一个向量

STD:vector int c;

可用功能:

C.clear()删除容器中的所有数据。

C.empty()判断容器是否为空。

C.erase(pos)删除pos位置数据。

C.erase(beg,end)删除[beg,end]区间内的数据。

C.front()返回第一个数据。

C.insert(pos,elem)在pos位置插入一个elem副本。

C.pop_back()删除最后的数据。

C.push _ back (ELM)在末尾添加一个数据。

C.resize(num)重置容器的大小。

C.size()返回容器中实际数据的数量。

C.begin()返回一个指向容器第一个元素的迭代器

C.end()返回一个指向容器最后一个元素的迭代器。

三、下面描述一下什么是迭代器

迭代器相当于指针,比如:

//对于变量,使用指针指向相应的变量

//以后可以用*加指针来操作这个变量。

int a=10

int * p;

p=a;

用指针操作变量。

例:* p=11//运算后A变成11

对于容器,使用迭代器来操作容器中相应位置的值。

当迭代器指向容器中的某个位置时,可以使用* add迭代器来操作该位置。

//定义一个向量

STD:vector my vec;

//添加10个元素

for(int j=0;j10j)

{

my vec . push _ back(j);

}

//定义迭代器

STD:vector int:iterator p;

//指向容器的第一个元素

p=my vec . begin();

//移动到下一个元素

p;

//修改此元素的赋值

* p=20//然后将myVec容器中的第二个值修改为20

//循环遍历迭代器,更改所有值

p=my vec . begin();

for(;p!=my vec . end();p)

{

* p=50

}

以上简单介绍了vector的用法,仅供入门使用。在这里,我们将继续以举例的形式进行说明。

1.1.vector的数据输入和输出:

# includestdio.h

# includevector

#包括iostream

使用命名空间std

void main()

{

int I=0;

矢量v;

for(I=0;i 10我)

{

五、push_back(一);//将元素逐个存储到向量中。

}

//清除存储的数据。

for(I=0;I . v . size();i )//v.size()表示矢量存入元素的个数

{

cout v[I]”;//把每个元素显示出来

}

续完

}

注:你也可以用贝京和v.end()来得到矢量开始的和结束的元素地址的指针位置。

你也可以这样做:

向量int:迭代器ITER;

for(ITER=v . begin();iter!=v . end();iter)

{

cout * iter endl

}

2.对于二维矢量的定义。

1)定义一个10个矢量元素,并对每个矢量符值1-10。

# includestdio.h

# includevector

#包括输入输出流

使用命名空间标准

void main()

{

int i=0,j=0;

//定义一个二维的动态数组,有10行,每一行是一个用一个矢量存储这一行的数据。

//所以每一行的长度是可以变化的。之所以用到向量(0)是对矢量初始化,否则不能对矢量存入元素。

vector向量数组(10,vector int(0));

for(j=0;j 10j)

{

for(I=0;I 9;我)

{

数组[ j ]的缩写.推回(一);

}

}

for(j=0;j 10j)

{

for(I=0;我数组[ j ]的缩写.size();我)

{

标准输出数组[j][I]”;

}

cout结束

}

}

2)定义一个行列都是变化的数组。

# includestdio.h

# includevector

#包括输入输出流

使用命名空间标准

void main()

{

int i=0,j=0;

向量向量阵列;

矢量(同Internationalorganizations)国际组织线;

for(j=0;j 10j)

{

数组。push _ back(线);//要对每一个矢量初始化,否则不能存入元素。

for(I=0;I 9;我)

{

数组[ j ]的缩写.推回(一);

}

}

for(j=0;j 10j)

{

for(I=0;我数组[ j ]的缩写.size();我)

{

标准输出数组[j][I]”;

}

cout结束

}

}

使用矢量擦除指定元素,示例如下:

#包括" iostream "

#包含"矢量"

使用命名空间标准

int main()

{

向量arrive)

由…改编push _ back(6);

由…改编push _ back(8);

由…改编push _ back(3);

由…改编push _ back(8);

for(vector int:iterator it=arr。begin();它!=arr。end();)

{

如果(* it==8)

{

it=arr。抹掉(它);

}

其他

{

它;

}

}

cout '在删除8之后:\ n ';

for(vector int:iterator it=arr。begin();它arr。end();它)

{

cout * it

}

cout结束

}

希望本文所述实例对大家掌握C中矢量用法起到一定的帮助作用。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • vs2015打包安装程序,vs2015程序打包,VS2022实现VC++打包生成安装文件图文详细历程
  • vc++6.0的快捷键,vc 快捷键
  • vc++6.0的快捷键,vc 快捷键,VC6.0常用快捷键大全
  • 绘制圆角矩形的方法,c++ 画矩形,C#画圆角矩形的方法
  • 懒汉式和饿汉式代码,单列模式懒汉和饿汉,C++单例模式的懒汉模式和饿汉模式详解
  • 好用的C++编译器,c++编译软件哪个好
  • semaphore c#,c++ semaphore
  • semaphore c#,c++ semaphore,C++中Semaphore内核对象用法实例
  • dev-c++使用教程,dev c++安装教程
  • dev-c++使用教程,dev c++安装教程,Dev C++ 安装及使用方法(图文教程)
  • C里面指针常量和常量指针的区别,c++指针常量和常量指针
  • C里面指针常量和常量指针的区别,c++指针常量和常量指针,简单总结C++中指针常量与常量指针的区别
  • com组件初始化失败,c#开发com组件,C++中COM组件初始化方法实例分析
  • c++静态成员变量使用,c++静态成员函数和静态成员变量
  • c++静态成员变量使用,c++静态成员函数和静态成员变量,详解c++ 静态成员变量
  • 留言与评论(共有 条评论)
       
    验证码: