c++动态数组的实现,类的作用的实现

c++动态数组的实现,类的作用的实现,第1张

定义一元素为整数的动态数组类,并在主函数中调用各个功能:

数据成员:指向元素首地址的指针(用于存储动态申请的数组空间)、当前数组的容量、当前元素的个数;

成员函数:

1.带参/无参构造函数(无参的动态申请10个元素空间并改变当前数组的容量、当前元素的个数值;带参的按参数处理);

2.在尾部增加一元素;

3.修改指定位置上的元素值;

4.查询指定数据的元素是否存在;

5.输出所有数组中的元素;

6.增加数组容量(动态申请新容量数组空间、将原来数组空间中的元素复制到新空间并修改当前数组的容量值,释放delete原来数组空间) ;

7.析构函数(释放动态申请的数组空间) ;

8.二分查询指定数据的元素并返回原始所处的位置(选作,首先在函数内定义一个结构体数组,临时存放当前元素值和位置。其次,使用sort函数对结构体数组排序,最后,利用二分(折半)查找方法找指定元素是否存在。存在,返回原始位置值。否则,返回-1。返回前释放结构体数组的空间)。
 

#include
#include
#include
#include
using namespace std;
struct start
{
int m_1;//初始位置
int m_2;//初始值
}
class array
{
int * p;
int size;//动态数组中个数
int capacity;//数组容量
public:
array();//构造无参函数
array(int x);//构造有参函数
void add_last(int x);//增加元素
void change(int m_1,int x);//修改m_1处的值为x
int chaxun(int x);//二分查找
void printall();//输出元素
void add_capacity(array,int capacity);//将数组复制到新的空间,并增加数组容量
~array();
}
array::array(){

capacity=10;//无参传入10个元素空间
size=0;
p=new int[capacity];
}
array::array(int x){
capacity=x;//x为元素空间
size=0;
p=new int[capacity]
}
void array::add_last(int x){
if(capacity==size){
return;
}
p[size]=x;//最后增加一个元素
size++;//总数增加1
}
void change(int m_1,int x){
p[m_1-1]=x;//数组从0开始,m_1位置相当于m_1-1位置
}
bool map(struct start a,struct start b){//sort函数的条件
if(a.m_2n;
array a(n);//主函数调用类
cout<<"请输入"<>x;
a.add_last(x);
}
cout<<"修改指定位置元素的值:"< 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/707102.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-24
下一篇 2022-04-24

发表评论

登录后才能评论

评论列表(0条)