动态数组类

原创 2016年05月31日 19:48:15

#include<iostream>
using namespace std;
class MyArray
{
private:
    int *arrayAddr; //保存一个有len个整型元素的数组的首地址
    int len;       //记录动态数组的长度
    int max;       //动态数组中的最大值(并非动态数组中必须要的数据成员)
public:
    MyArray(int *a, int n);
    ~MyArray();
    int getValue(int i);   //获得数组中下标为i的元素的值
    int getLen();          //返回数组长度
    int getMax( );         //返回数组中的最大值
};
MyArray::MyArray(int *a,int n)
{
     len=n;
     arrayAddr=new int [n];
     max=a[0];
     int i;
     for(i=0;i<n;i++)
     {
         arrayAddr[i]=a[i];
         if(max<a[i])
            max=a[i];
     }




}
 MyArray::~MyArray()
 {
     delete[]arrayAddr;
 }
  int MyArray::getValue(int i)
  {
      return arrayAddr[i];
  }
    int MyArray::getLen()
    {
        return len;
    }
    int MyArray::getMax( )
    {
        return max;
    }
int main()
{
    int b[10]= {75, 99, 90, 93, 38, 15, 5, 7, 52, 4};
    MyArray r1(b,10);
    cout<<"最大值:"<<r1.getMax()<<endl;
    int c[15] = {18,68,10,52,3,19,12,100,56,96,95,97,1,4,93};
    MyArray r2(c,15);
    int i,s=0;
    for(i=0; i<r2.getLen(); i++)
        s+=r2.getValue(i);
    cout<<"所有元素的和为:"<<s<<endl;
    return 0;
}

C++学习之动态数组类的封装

动态数组(Dynamic Array)是指动态分配的、可以根据需求动态增长占用内存的数组。为了实现一个动态数组类的封装,我们需要考虑几个问题:new/delete的使用、内存分配策略、类的四大函数(构...
  • lisong694767315
  • lisong694767315
  • 2014年07月29日 17:03
  • 4054

数据结构之动态数组 (C++类模板实现)

简述 前面用c写的动态数组主要使用泛型指针(void *)存储数据的地址,索引到不同类型的数据,而用C++类模板实现后可以直接存储数据,编译器会根据定义好的数据类型自动态分配空间。...
  • niu2212035673
  • niu2212035673
  • 2017年05月29日 22:48
  • 185

C++中new一个动态数组(内置类型和自定义类型的区别)

在学习数据结构与算法的时候,T *p = new T[n]的算法复杂度为Θ(n),而int *p = new int[n]的算法复杂度为Θ(1)。 C++ primer的动态内存的讲解没有关于这一点...
  • Mind_V
  • Mind_V
  • 2017年04月25日 15:41
  • 1271

利用List来实现动态的数组。

C#里List很好用。其中一项就是动态数组。   如一下例子:   public int[] abc() {     List num=new List();     //加一个内容 ...
  • dogfish
  • dogfish
  • 2011年07月30日 13:55
  • 665

Java动态数组ArrayList

List 接口的大小可变数组的实现。实现了所有可选列表操作,并允许包括null 在内的所有元素。除了实现 List 接口外,此类还提供一些方法来操作内部用来存储列表的数组的大小。(此类大致上等同于Ve...
  • fengyuzhengfan
  • fengyuzhengfan
  • 2014年09月04日 19:54
  • 3454

c++自定义动态数组模板

本文需要说明的是一种动态数组模板类(Array),可用于自定义的需要连续空间的容器,能有效得利用分配的空间,提供较高效的数组对象操作,和使用引用计数减少内存复制拷贝,内存头含有描述块,记录有效数据对象...
  • jiayichendddd
  • jiayichendddd
  • 2015年03月30日 18:06
  • 1950

C++ 动态分配对象数组

#include using namespace std; class MyClass{ int x, y; public: MyClass(){} void setvalue(int x1,...
  • Slience_Perseverance
  • Slience_Perseverance
  • 2014年03月01日 08:28
  • 4798

动态数组类

//188 6_17.cpp #include using namespace std; //动态创建对象数组 class point { ...
  • luo_yimin
  • luo_yimin
  • 2016年02月12日 14:17
  • 64

c语言实现一个简单的通用动态数组

背景 最近在看《系统程序员成长计划》,里面有个任务是实现一个动态数组,所以我用以前学过的知识实现了一个通用的动态数组,不过暂时只能存放int,char,double,字符串的还没实现。 设计与实现 一...
  • u013238038
  • u013238038
  • 2016年01月30日 12:06
  • 1754

Java之Vector向量类实现自动动态增长的对象数组-类似动态数组

Vector 可实现自动增长的对象数组。  java.util.vector提供了向量类(vector)以实现类似动态数组的功能。在Java语言中没有指针的概念,但如果正确灵活地使用指针又确实可以大...
  • lqhed
  • lqhed
  • 2016年06月27日 20:07
  • 1253
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:动态数组类
举报原因:
原因补充:

(最多只允许输入30个字)