收藏 分享(赏)

实验报告 miniVector函数实现与调试.doc

上传人:精品资料 文档编号:10078160 上传时间:2019-10-07 格式:DOC 页数:16 大小:93.80KB
下载 相关 举报
实验报告 miniVector函数实现与调试.doc_第1页
第1页 / 共16页
实验报告 miniVector函数实现与调试.doc_第2页
第2页 / 共16页
实验报告 miniVector函数实现与调试.doc_第3页
第3页 / 共16页
实验报告 miniVector函数实现与调试.doc_第4页
第4页 / 共16页
实验报告 miniVector函数实现与调试.doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

1、Power By Rush Chu,数据结构实验报告2015/2016(1)实验题目 miniVector 函数实现与调试 学 生 姓 名 唐超 学生学号 201426810618 学生班级 计自 1401 班 任课教师 刘端阳 提 交 日 期 2015-10-30 Power By Rush Chu,计算机科学与技术学院 实验内容设计并实现完整的 miniVector 类,要求增加插入和删除函数,并测试主要 的成员函数。 设计思路miniVector 类中的其它函数作业之前已经给出,思路详见注释。下面主要讲讲 insert 函数与 Delete 函数的实现思路;1、关于 insert 函数:

2、首先先有一个容量检测的语句,如果实际容量与总容量相等就执行reserve 扩容,接下来实现方法是从后往前循环,直到要插入的位置停止,期间将所有数值都向后移动一位,留出来一个空,然后把需要插入的数放进去,最后把实际容量加 1。代码:void miniVector:insert(int pos, int num)if (vSize = vCapacity)Power By Rush Chu,reserve(2 * vCapacity, true);if (posvSize)cout vSize - 1 - pos; -x)vArrx = vArrx - 1;vArrpos - 1 = num;vS

3、ize+;2、关于 Delete 函数:首先遍历找到要删除元素,然后用一个从要删除的位置循环到最后,把要删除的位置的数用后面的数覆盖掉,最后把实际容量减 1,如果找不到要删除的数则输出“NO Existing”。代码:void miniVector:Delete(int k)bool exist = false;for (int a = 0; a using namespace std;class miniVectorpublic:miniVector(int size = 0); /构造函数miniVector(const miniVector /以对象为形参的构造函数miniVector(

4、); /析构函数Power By Rush Chu,miniVector /重载赋值运算符实现对象与对象之间的赋值int /返回数组最后一个元素的值const int /返回数组最后一个元素的值且为只读int /重载下标运算符const int /重载下标运算符且为只读void push_back(const int /从数组的尾部压入一个值为 item 的元素void pop_back(); /删除数组最后一个元素int size()const; /返回数组元素个数bool empty()const; /清空数组元素int capacity()const; /返回数组容量且为只读void d

5、isplay(ostream /输出数组中的元素void Delete(int k); /删除数组中指定值的元素void insert(int pos, int num); /在指定位置插入指定数值的元素private:int vCapacity; /数组容量int vSize; /数组元素数量int *vArr; /指向动态数组的指针void reserve(int n, bool copy); /调整数组容量,且可以保留数组原数据Power By Rush Chu,;/miniVector.cpp/主要是两个构造函数,一个是输入元素个数的元素默认值为 0 的构造函数,一个则为以对象为形参的

6、构造函数#include “miniVector.h“using namespace std;miniVector:miniVector(int size):vSize(0), vCapacity(0), vArr(NULL)int i;if (size = 0) return;reserve(size, false);vSize = size;for (i = 0; i vSize)cout vSize - 1 - pos; -x)vArrx = vArrx - 1;vArrpos - 1 = num;vSize+;/operator.cpp/重载下标运算符#include “miniVec

7、tor.h“using namespace std;intint main()miniVector a(10); /定义一个 miniVector 对象,容量为 10;cout “对象 a 中的元素: n“;Power By Rush Chu,a.display(cout); /输出 a 中的所以元素a.push_back(6); cout “push_back 函数作用后对象 a 中的元素:n“;a.display(cout); / 测试 push_back 函数miniVector b(a);cout “对象 b 中的元素:n“;b.display(cout); /测试 miniVecto

8、r 以对象为形参的构造函数b.Delete(6); cout “delete 函数作用后对象 b 中的元素:n“;b.display(cout); /测试 delete 函数b.insert(3, 78); cout “insert 函数作用后对象 b 中的元素:n“;b.display(cout); /测试 insert 函数b.pop_back();cout “pop_back 函数作用后对象 b 中的元素: n“;b.display(cout); /测试 pop_back 函数miniVector c = b; cout “对象 c 复制了对象 b 后 b 中的元素:n“;c.display(cout); /测试=重载函数cout “对象 c 数组最后一个元素的值: “ c.back() endl; Power By Rush Chu,/测试 back 函数cout “如果 c 数组为空则输出 1:n“;cout c.empty() endl;cout “b 数组的元素个数为: “ b.size() endl; /测试 size 函数cout “b 数组的容量为: “ b.capacity() endl; /测试 capacity 函数b15 = a3; /测试下标运算符重载,越界报错cout endl; 测试结果

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报