vc-使用VC++语言用数组实现集合怎么做?

作者:用户 来源:互联网 浏览:310 次 时间:2016-04-28 14:21:04

vc集合

vc-使用VC++语言用数组实现集合怎么做? - 摘要: 使用VC++语言用数组实现集合怎么做?提示,定义一个数组,定义AddIndexOfGetLength三个函数。当数组容纳不下的时候,要求能够扩充数组。编写一个主程序调用如上功能,并且实现对数组的遍历。

问题描述

使用VC++语言用数组实现集合怎么做?

提示,定义一个数组,定义Add IndexOf GetLength三个函数。当数组容纳不下的时候,要求能够扩充数组。编写一个主程序调用如上功能,并且实现对数组的遍历。

解决方案

 #include <iostream>
using namespace std;

class List
{
private:
    int * arr;
    int length;
    int arrsize;
public:
    List()
    {
        arrsize = 10;
        arr = new int[arrsize];
    }
    void Add(int value)
    {
        if (length == arrsize)
        {
            int oldsize = arrsize;
            int * oldarr = arr;
            arrsize += 10;
            arr = new int[arrsize];
            memset(arr, 0, arrsize);
            memcpy_s(arr, arrsize * sizeof(int), oldarr, oldsize * sizeof(int));
            delete[](oldarr);
        }
        length++;
        arr[length - 1] = value;
    }
    int GetLength()
    {
        return length;
    }
    int IndexOf(int index)
    {
        return arr[index];
    }
};

int main(int argc, _TCHAR* argv[])
{
    List list = List();
    for (int i = 0; i < 35; i++)
    {
        list.Add(i);
    }
    for (int i = 0; i < list.GetLength(); i++)
        cout << list.IndexOf(i) << endl;
    return 0;
}


解决方案二:

容纳不下的时候,开辟一个新空间,比原来的要大,然后把原来数组里内容拷贝到新的空间里,然后释放掉原来的空间就可以了

【云栖快讯】阿里云栖开发者沙龙(Java技术专场)火热来袭!快来报名参与吧!  详情请点击
云栖社区(yq.aliyun.com)为您免费提供vc-使用VC++语言用数组实现集合怎么做?相关信息,包括 vc 集合 的信息 ,所有vc-使用VC++语言用数组实现集合怎么做?相关内容均不代表云栖社区的意见! 该页面h5页面的地址是:https://m.aliyun.com/yunqi/wenzhang/show_64911,您可以点击vc-使用VC++语言用数组实现集合怎么做?-手机站访问。
双十二
弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率

40+云计算产品,6个月免费体验

现在注册,免费体验40+云产品,及域名优惠!

云服务器9.9元/月,大学必备

热点导航