assign1(中文)(4)

发布时间:2021-06-06

作业c++项目

~ PersonSet (void);

public:

void Add(Person & element) ;

Person & NextElement() ;

// 从set中移除最后一个成员

//如果Set空的数据超过一半,释放一些内存

Person & RemoveElement();

// 从Set中的index索引处移除成员

// 如果Set空的数据超过一半, 释放一些内存

Person & RemoveElement( int index );

int Size(); //answer the number of elements in the set.

void Print(); //print the elements of the set

//void Reset();

private:

Person ** _elements;

int _capacity; //volume of the set

int _size; //number of elements in the set

int _index;

};

Growable Sets (可扩展的Set)

你的Set应该使用一个数组来存储成员并且数组应该使用new在堆上分配.

当set被创建时,它有一个指定的尺寸(指数组). 如果它满了, 必须从堆中开辟更多的内存. 这个将会在某一次Add()函数的期间.

如果set中有太多空的位置了(数组),它应该去释放它的一些内存. 这将发生在某一次remove函数调用的期间. 建议:如果有一半以上空间未存储Person指针(也就是上面所说的空),那么它就去释放一些内存(一半内存).

你的set类应该在它扩展和缩小空间是用cout打印出一串信息.

这个信息应该标明内存开辟或释放后的所能存储的最大值(capacity).

这里是容器的用于基本的扩展和缩小空间的实现.

assign1(中文)(4).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219