Myarray.h文件

#pragma once#include<iostream>using namespace std;class MyArray
{
public:MyArray();//默认构造 默认100容量MyArray(int capacity);MyArray(const MyArray& array);~MyArray();//尾插法void Push_Back(int val);//根据索引获取值int getData(int index);//根据索引设置值void setData(int index, int val);//获取数组大小int getSize();//获取数组容量int getCapacity();private:int *pAddress;//指向真正存储数据的指针int m_Size;//数组的大小int m_Capacity;//数组容量
};

Myarray.cpp

#include"Myarray.h"//默认构造
MyArray::MyArray()
{this->m_Capacity = 100;this->m_Size = 0;this->pAddress = new int[this->m_Capacity];
}
//有参构造 参数 数组容量
MyArray::MyArray(int capacity)
{cout << "有参构造调用" << endl;this->m_Capacity = capacity;this->m_Size = 0;this->pAddress = new int[this->m_Capacity];
}//拷贝构造
MyArray::MyArray(const MyArray & array)
{cout << "拷贝构造的调用" << endl;this->pAddress = new int[array.m_Capacity];this->m_Size = array.m_Size;this->m_Capacity = array.m_Capacity;for (int i = 0; i < array.m_Size; i++){this->pAddress[i] = array.pAddress[i];}}//析构
MyArray::~MyArray()
{if (this->pAddress != NULL){cout << "析构函数的调用" << endl;delete[]this->pAddress;this->pAddress = NULL;}
}void MyArray::Push_Back(int val)
{//判断越界?用户自己处理this->pAddress[this->m_Size] = val;this->m_Size++;
}int MyArray::getData(int index)
{return this->pAddress[index];
}void MyArray::setData(int index, int val)
{this->pAddress[index] = val;
}int MyArray::getCapacity()
{return this->m_Capacity;
}
int MyArray::getSize()
{return this->m_Size;
}

test.cpp

#include"Myarray.h"void test01()
{//堆区创建数组MyArray *array = new MyArray(30);MyArray *array2=new MyArray(*array);//new方式指定拷贝构造MyArray array3 = *array2;  //构造函数返回的本体//MyArray *array4 = array; //这声明一个指针和array执行的地址相同,所以不会调用拷贝构造delete array;//尾插法的测试for (int i = 0; i < 10; i++){array2->Push_Back(i);}//获取数据的测试for (int i = 0; i < 10; i++){cout << array2->getData(i) << endl;}//设置值的测试array2->setData(0, 1000);cout << array2->getData(0) << endl;//获取数组大小cout << "array2的数组大小" << array2->getSize() << endl;//获取数组容量cout << "array2的数组容量" << array2->getCapacity() << endl;}int main()
{test01();system("pause");return 0;
}

c++实现顺序表的相关操作相关推荐

  1. 南邮数据结构实验1.1:顺序表的相关操作

    题目:参照程序2.1~2.7,编写代码,完成顺序表的初始化.查找.插入.删除.输出.撤销等操作. 部分代码: 顺序表的结构体定义: typedef struct {int n; //顺序表的长度int ...

  2. 数据结构学习笔记:顺序表的删除操作及其演化题目总结

    目录 前言 例题 类似题目1 类似题目2 类似题目3 类似题目4 类似题目5 结语 前言 文章代码皆在Dev-C++ 5.11中测试,主要是总结一些方法,从而总结一些规律使自己进一步地深化学习内容,仅 ...

  3. 顺序表的插入与删除java_C++实现顺序表的常用操作(插入删出查找输出)

    实现顺序表的插入,删除,查找,输出操作在C语言中经常用到.下面小编给大家整理实现代码,一起看下吧 代码如下所示: #include using namespace std; #define MAXSI ...

  4. ¥1-1 SWUST oj 941: 有序顺序表的合并操作的实现

    有序顺序表的合并操作的实现 题目描述 源代码 题目描述 源代码 #include<iostream> #include<malloc.h> using namespace st ...

  5. DM8表空间相关操作及介绍

    DM8表空间相关操作及介绍 最近刚接触达梦数据库,经过基础的学习已初步掌握相关知识,下面给大家分享一下达梦8表空间的一些相关操作及介绍,后续会持续更新. 一.表空间介绍: 1.概念: 每个DM 数据库 ...

  6. mysql显示表已存在_MySQL数据库与数据表的相关操作

    数据库相关操作: 显示数据库:show databases; 如果是0.00秒并不代表没有花费时间,而是时间非常短,小于0.01秒. 创建数据库: Query OK表示创建成功,1行受到影响,处理时间 ...

  7. C语言-数据结构-可变长顺序表的删除操作

    [问题描述] 实现可变长顺序表的删除算法.任务要求:通过顺序表的初始化.插入算法,创建顺序表.根据删除需求,删除指定的顺序表元素. [输入形式] 第一行输入整数N(1<=N<=100),M ...

  8. C语言-数据结构-可变长顺序表的查找操作

    [问题描述] 实现可变长顺序表的查找算法.任务要求:通过顺序表的初始化.插入建立顺序表,根据查找要求,返回查找结果. [输入形式] 第一行输入整数N(1<=N<=100),M(1<= ...

  9. Excel表的相关操作(笔记)

    0.序言 关于LOOKUP,FIND,OFFSET等excel表操作的笔记. 1.excel往下拉复制横向数据 例子:   公式:OFFSET($S$26,1,V27,1,1) 用与数据++   R2 ...

最新文章

  1. WINXP光启工具盘的制作(4)-acrosin true image
  2. Unity-Animator深入系列---控制IK
  3. Adam自适应矩估计
  4. Word错别字校对-JCJC
  5. 泛微OA 任意文件上传漏洞
  6. 代码坏味道与重构之数据泥团和基本类型偏执
  7. nvidia卸载程序失败_英伟达显卡驱动安装失败怎么办?
  8. Teamcenter 与各种工具软件的集成解决方案
  9. 98% after emitting CopyPlugin
  10. Android-Activity生命周期、广播接收者、服务
  11. Sentiment Word Aware Multimodal Refinement for MultimodalSentiment Analysis with ASR Errors
  12. [解读] GTN: Generative Teaching Networks
  13. c语言报错 error:1d returned 1 exit status 。(原因:把main写成了mian)
  14. 如何高效阅读技术类书籍?
  15. 为什么一个电子商务网站需要七秒钟加载?
  16. 面试总结——Java高级工程师
  17. Linux防火墙常用命令
  18. 导出的excel表格是乱码的解决方法
  19. 2021年金九银十最新的VUE面试题☀️《❤️记得收藏❤️》
  20. 感受DataGrid给数据操作带来的便利(4)

热门文章

  1. XPath语法规则及实例
  2. Python_迭代器与生成器
  3. 20170907wdVBA_GetCellsContentToExcel
  4. STL中的lower_bound和upper_bound的理解
  5. 关于easyui的一些小知识点(1)
  6. php curl 采集文件,curl获取远程文件内容
  7. 合并远程仓库到本地_git远程仓库创建和合并
  8. 转3d视图快捷键_最全Solidworks快捷键,值得收藏!
  9. php访问服务器文件路径,PHP与服务器文件系统的简单交互
  10. python查询oracle数据库_python针对Oracle常见查询操作实例分析