C++创建动态数组

这次写的是C++的创建动态数组的小程序,如果学过数据结构的童鞋,看着应该会很省力的,因为这个完全就是数据结构里的动态创建顺序表,几乎一模一样,不太了解的可以先看这里,没学数据结构的童鞋也不用捉急,没有什么难点,只是插入删除的地方有些烧脑,不过把十几年不用的手指头拿出来也是可以解决的,把临界考虑好就可以了。目录问题描述运行结果类的定义文件名称DynamicArrayh类的实现文件名称DynamicA
摘要由CSDN通过智能技术生成

这次写的是C++的创建动态数组的小程序,如果学过数据结构的童鞋,看着应该会很省力的,因为这个完全就是数据结构里的动态创建顺序表,几乎一模一样,不太了解的可以先看这里,没学数据结构的童鞋也不用捉急,没有什么难点,只是插入删除的地方有些烧脑,不过把十几年不用的手指头拿出来也是可以解决的,把临界考虑好就可以了。

目录

问题描述:

实现一个动态数组类,类体中包含添加,删除,查找等功能。

提示: 动态数组:通常是在堆区创建的数组,动态数组的长度及为其开辟的内存随着数组元素的添加而增加,随着数组元素的缩小而缩小。

运行结果

这里写图片描述

1.类的定义,文件名称DynamicArray.h

#ifndef _DYNAMICARRAY_H
#define _DYNAMICARRAY_H
class DynamicArray
{
public: 
    DynamicArray(int aSize=10);
    ~DynamicArray();
    DynamicArray(const DynamicArray &aRef);
    void assign(const DynamicArray &aRef);// 用一个动态数组的对象的值去修改另外一个对象
    void append(int aValue);
    bool remove(int aIndex); //删除下标为aIndex的数组元素
    bool insert( int aIndex, int aVal );//在aIndex位置的元素后面插入新元素
    bool remove(int aIndex, int aValue); //从下标为aIndex的元素开始查找,删除所有值为aValue的元素
    const int *begin() const; //返回第一个数组元素的指针
    const int *end() const; //返回最后一个元素的指针
    int at(const int aIndex) const; //返回下标为aIndex的数组元素
    void display();
    int GetSize();
    int GetLength();
private:
    int *m_iData;
    int m_iSize;
    int m_iLength;
//请自己定义数据成员

};
#endif

2.类的实现,文件名称DynamicArray.h

# include <iostream>
# include "DynamicArray.h"
# define INSERTSIZE 10
using namespace std;
//构造函数初始化
DynamicArray::DynamicArray(int aSize)
{

    do{
        m_iData = new int[aSize];
    }while(!m_iData);       
    m_iSize = aSize;
    m_iLength = 0;
}
//析构函数
DynamicArray::~DynamicArray()
{
    if(m_iData)
    {
        
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值