动态数组的C++实现.docx

动态数组的C++实现.docx

ID:57193838

大小:12.44 KB

页数:7页

时间:2020-08-05

动态数组的C++实现.docx_第1页
动态数组的C++实现.docx_第2页
动态数组的C++实现.docx_第3页
动态数组的C++实现.docx_第4页
动态数组的C++实现.docx_第5页
资源描述:

《动态数组的C++实现.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、动态数组的C++实现动态数组在C++中有广泛的应用,但实现起来比较麻烦。这是我编写的一个动态数组的实现程序,程序的大部分功能都能实现,比如插入元素、向动态数组末尾追加元素、显示动态数组的大小、显示动态数组的容量、显示动态数组的元素。还有一些功能我虽然写了实现函数,但没有测试程序的结果,只写了最常见的几种操作。程序的最大优点是测试程序方便。程序代码/**Array.cpp**Createdon:2011-1-19*Author:jiayanbo*/#include#include#include#include<

2、iterator>usingnamespacestd;//定义一个动态数组类classArray{int_size;int_capacity;int*items;public:typedefint*iterator;typedefconstint*const_iterator;enum{DEFAUL_CAP=16};explicitArray(constint&capcity=DEFAUL_CAP);Array(constArray&other);Array&operator=(constArray&other);~Array();iteratorbegin();con

3、st_iteratorbegin()const;iteratorend();const_iteratorend()const;constint&operator[](constint&index)const;int&operator[](constint&index);voidinsert(constint&index,constint&value);voidremove(constint&index);voidappend(constint&value);intsize()const;intcapacity()const;boolempty()const;voidru

4、n();};//构造函数Array::Array(constint&capcity):_size(0),_capacity(capcity){items=newint[_capacity];}//copy构造函数Array::Array(constArray&other):_size(other._size),_capacity(other._capacity){items=newint[_capacity];//for(inti=0;i<_size;++i)//items[i]=other.items[i];std::memcpy(items,other.items,

5、_size*sizeof(int));}//运算符"="重载Array&Array::operator=(constArray&other){if(&other!=this){_size=other._size;_capacity=other._capacity;delete[]items;items=newint[_capacity];std::memcpy(items,other.items,_size*sizeof(int));}return*this;}//查找数组开始位置Array::iteratorArray::begin(){returnitems;}//

6、查找数组开始位置(不能改变)Array::const_iteratorArray::begin()const{returnitems;}//查找数组结束位置Array::iteratorArray::end(){returnitems+_size;}//查找数组结束位置(不能改变)Array::const_iteratorArray::end()const{returnitems+_size;}//查找数组中index下标的元素constint&Array::operator[](constint&index)const{if(index<0

7、

8、_size<=index

9、)throwstd::out_of_range("Array::operator[](constint&)const");returnitems[index];}//查找数组中index下标的元素(不能改变其大小)int&Array::operator[](constint&index){if(index<0

10、

11、_size<=index)throwstd::out_of_range("Array::operator[](constint&)const");returnitems[index];}//在动态数组中插入元素voidArray:

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。