quyuq04301991 2015-01-18 04:21 采纳率: 100%
浏览 1606
已采纳

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

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

  • 写回答

2条回答 默认 最新

  • threenewbee 2015-01-18 05:21
    关注
     #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;
    }
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 如何提取csv文件中需要的列,将其整合为一篇完整文档,并进行jieba分词(语言-python)
  • ¥15 MapReduce结果输出到HBase,一直连接不上MySQL
  • ¥15 扩散模型sd.webui使用时报错“Nonetype”
  • ¥15 stm32流水灯+呼吸灯+外部中断按键
  • ¥15 将二维数组,按照假设的规定,如0/1/0 == "4",把对应列位置写成一个字符并打印输出该字符
  • ¥15 NX MCD仿真与博途通讯不了啥情况
  • ¥15 win11家庭中文版安装docker遇到Hyper-V启用失败解决办法整理
  • ¥15 gradio的web端页面格式不对的问题
  • ¥15 求大家看看Nonce如何配置
  • ¥15 Matlab怎么求解含参的二重积分?