• c++数组自动扩容(动态数组)


    //函数包装在一个容器类里

    //调用此函数可输入任意个整数(-1为退出条件可根据情况更改)(内存满足条件)

    #ifndef dataRecoder_H
    #define dataRecoder_H
    #include<iostream>
    using namespace std;
    class dataContainer
    {
    public:
        dataContainer()
        {
            data[0]=0;//为数组自动填充一个数据,满足排序时哨兵的占用
            size++;
        }
        void dataIput()
        {
            int alength = length;//退出循环方法二用一个临时变量来记录当前的length
            for (int i = size; i < alength; i++)//第一种方法用length
            {
                int count = 0;//方法一定义局部的变量count记录是否自身调用,
                //录入数组
                int adata;
                cin >> adata;
                if (adata == -1)
                {
                    break;
                }
                data[i] = adata;    
                size++;
                //判断与进行扩容
                if (size >= length)
                {
                    int *temp = new int[length * 2];
                    for (int j = 0; j < length; j++)
                    {    
                        temp[j] = data[j];
                    }
                    delete[]data;
                    data = temp;
                    length = length * 2;
                    //count++;//记录为调用,等下直接跳出for循环
                    dataIput(); 
                }
                //lenth以变用count退出循环
                /*if (count>0)
                {
                    break;
                }*/
            }
        }
        void print()
        {
            for (int i = 1; i < size; i++)
            {
                cout << data[i] << "  ";
            }
        }
        int * getData()
        {
            return data;
        }
        int getSize()
        {
            return size;
        }
    private:    
        int length = 10;
        int  *data=new int[length];
        int size = 0;
    };
    #endif
    点滴
  • 相关阅读:
    JVM字节码(七)
    JVM字节码(六)
    JVM字节码(五)
    JVM字节码(四)
    JVM字节码(三)
    JVM字节码(二)
    JVM字节码(一)
    JVM类加载器(五)
    JVM类加载器(四)
    php之 人员的权限管理
  • 原文地址:https://www.cnblogs.com/lst601z815/p/5034576.html
Copyright © 2020-2023  润新知