福建农林大学金山学院实验报告Vector

  • 格式:doc
  • 大小:27.50 KB
  • 文档页数:4

下载文档原格式

  / 4
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

福建农林大学金山学院实验报告

系(教研室):信息与机电工程系专业:计算机科学与技术年级:2018级

实验课程:数据结构姓名:学号:实验室号:B604

计算机号:B604-088 实验时间:2018.12.5 指导教师签字:成绩:

实验1 Vector的使用

一、实验目的

1.掌握Vector的实现。

2.掌握Vector中resize,reserve,empty,size,capacity,push_back,pop_back,

back,begin,end等方法的使用。

3.了解Vector中的迭代器的实现原理,掌握迭代器的使用。

二、实验要求

1.在源文件main.c中建立一个整数Vector。

2.在命令行中输入10个整数,并插入到Vector中。

3.输出Vector,Vector的大小和容量。

4.判断-2147483648是否在Vector中。

5.如果2147483647不在Vector中,则将其插入,并输出Vector。

6.如果0在Vector中,则将其删除,并输出Vector。

7.输出Vector的最小值和最大值。

三、实验原理

1.表:形如A0,A1,…,A N-1的数据对象,A i是表中数据元素,N为表的大小。

若N=0,则该表为空表。

2.resize():改变Vector的大小。

3.reserve():改变Vector的容量。

4.empty():判断Vector是否为空,如果为空返回true,否则返回false。

5.size():返回Vector的大小。

6.capacity():返回容器当前能够容纳的元素数量

7.push_back():在数组的最后添加一个数据

8.pop_back():去掉数组的最后一个数据

9.back():得到数组的最后一个单元的引用

10.begin():得到数组头的指针

11.end():得到数组的最后一个单元+1的指针

四、实验环境

1. 硬件:PC机;

2. 软件:Windows操作系统、。

五、算法描述及实验步骤

六、调试过程

#include

#include

#include

#include "Vector.h"

using namespace std;

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

void print(const Vector> arr)

{

int n = arr.size();

for(int i = 0; i < n; ++i) {

cout << "arr[" << i << "]";

for(int j = 0; j < arr[i].size(); ++j)

cout << " " << arr[i][j];

cout << endl;

}

}

void print(const Vector v)

{

for(int i = 0; i < v.size(); ++i) {

cout << "arr[" << i << "]";

cout << " " << v[i];

cout << endl;

}

}

class CompareVector{

public:

bool operator()(const Vector & lhs, const Vector & rhs)

{

return lhs.size() < rhs.size();

}

};

int main(int argc, char** argv)

{

int i,s;

int n = 10;

vector v;

cout<<"请输入Vector:";

for(i = 0;i < n;i++)

{

cin>>s;

v.push_back(s);

}

cout<<"Vector: ";

for(i = 0;i < v.size();i++)

{

cout<

}

cout<

cout<<"Vector的大小:"<

cout<<"Vector的容量:"<

vector::iterator a;

a = find(v.begin(),v.end(),-2147483648);

if(a == v.end())

{

cout<<"-2147483648 在Vector中"<

}

else

{

cout<<"-2147483648 不在Vector中"<

}

vector::iterator b;

b = find(v.begin(),v.end(),2147483647);

if(b == v.end())

{

cout<<"2147483647 在Vector中"<

v.push_back(2147483647);

}

else

{

cout<<"2147483647 不在Vector中"<

}

cout<<"Vector: ";

for(i = 0;i < v.size();i++)

{

cout<

}