zoukankan      html  css  js  c++  java
  • 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
    点滴
  • 相关阅读:
    Linq to Json
    CoreData 增删改查
    ios中的coredata的使用
    更安全的HTTPS
    Block编程注意的问题
    iOS 网络编程 TCP/UDP HTTP
    imageNamed 、imageWithContentsOfFile、 initWithContentsFile区别
    调试解决iOS内存泄漏
    iOS中的#import和class区别
    何时使用copy,strong,weak,assign关键字 定义属性
  • 原文地址:https://www.cnblogs.com/lst601z815/p/5034576.html
Copyright © 2011-2022 走看看