动态数组的实现

来源:互联网 发布:淘宝海外直购能退货吗 编辑:程序博客网 时间:2024/05/16 07:32

ArraysTest.h

#ifndef ARRAYSTEST_H_INCLUDED#define ARRAYSTEST_H_INCLUDEDclass ArraysTest{public:    ArraysTest(int capaCity);    virtual ~ArraysTest();    int getsize(int arrSize);    bool isEmpty();    bool push_Back(int elements)const;    int At(int i);    bool insert(int i,int elements)const;    int pop_Back();    bool delete1(int i);    int remove1(int &elements);    bool resize();private:    int A_arrSize;    int A_arrCapacity;    int *A_arrays;    int A_Head=0;    int A_Tail=0;};#endif // ARRAYSTEST_H_INCLUDED

ArraysTest.cpp

#include "ArraysTest.h"#include <iostream>#include <stdlib.h>using namespace std;ArraysTest::ArraysTest(int capaCity){    A_arrCapacity=capaCity;    A_arrays=new int[A_arrCapacity];}ArraysTest::~ArraysTest(){    delete[]=A_arrays;    A_arrays=NULL;}bool ArraysTest::isEmpty(){    if(A_arrSize==0)        return true;        else return false;}bool ArraysTest::push_Back(int elements)const{    if(getSize()==capaCity)    reSize();    A_arrays[A_Head]=elements;    A_Head++;    return true;}int ArraysTest::getsize(){    return A_arrSize;}int ArraysTest::At(int i){    if(i<0||i>getSize())    cout<<"超过取值范围"<<endl;    else    return A_arrays[i];}bool ArraysTest::insert(int i,int elements)const{    if(i<0||i>=A_arrCapacity-1)    return false;    else    for(int j=i;j<A_arrCapacity-2;j++)    A_arrays[j+1]=A_arrays[j];    A_arrays[i]=elements;    A_arrSize++;    return true;}int ArraysTest::pop_Back(){    int a=A_arrays[A_Head];    delete A_arrays[A_Head];    A_Head--;    return a;}bool ArraysTest::delete1(int i){    if(i<0||i>=A_arrCapacity)        return false;    else    delete A_arrays[i];        for(int j=i;j<A_arrCapacity;j++)        A_arrays[j]=A_arrays[j+1];        A_arrSize--;        return true;}int ArraysTest::remove1(int elements){    for(int i=0;i<A_arrSize;i++)        if(A_arrays[i]==elements)        {        delete A_arrays[i];        for(int j=i;j<A_arrCapacity;j++)        A_arrays[j]=A_arrays[j+1];        return i;        }    else        return 0;}bool ArraysTest::resize(){    if(getSize()=A_arrCapacity-1)    {        int *new_Array;        new_Array=new int[A_arrCapacity*2];        for(int i=0;i<A_arrSize;i++)            new_Array[i]=A_arrays[i];        delete[] A_arrays;        for(int i=0;i<A_arrCApacity*2;i++)            A_arrays[i]=new_Array[i];        A_arrCapacity=A_arrCapacity*2;        return true;    }    return false;}
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 借的钱还不起了怎么办 支付宝手机号空号了怎么办 到处贷不到钱了怎么办 还不起钱借不到怎么办 闯红灯收到短信不去扣分怎么办 被一家公司骗了怎么办 oppo手机无线网信号差怎么办 oppo手机无线网网速慢怎么办 电脑无法解析dns地址怎么办 vivox9手机卡顿反应慢怎么办 vivo手机设置成英文怎么办 wi-fi模块坏了怎么办 苹果手机dns被劫持怎么办 圆通快递一直不派送怎么办 凯越没有高压火怎么办 理财回执单丢了怎么办 余额宝超10万怎么办 商场主题经营改变商户怎么办 一个好的项目需要资金怎么办 没有做暂估入库的凭证怎么办 电脑显示宽带连接已断开怎么办 电脑ip地址连不上网怎么办 百度网盘资源打不开怎么办 百度网盘视频格式不支持怎么办 origin注册邮箱填错了怎么办 58同城手机输入不合法怎么办 银行卡密码输入错误三次怎么办 私密相册系统升级后打不开怎么办 由于志愿没填好孩子没书读怎么办 文具店不开了货怎么办 华为手机通讯录联系人重复怎么办 vcf文件用表格打开乱码怎么办 表格打出来太小怎么办 企业列入经营异常名录怎么办 小米电视滚动字幕模糊怎么办 海信电视浑的看不清怎么办 电视打开特别暗看不清怎么办 诈骗电话按了键怎么办 上海油电混合送沪牌以后怎么办? 车子被前夫砸了怎么办 老的标书丢了怎么办