【C++数据结构】动态数组
来源:互联网 发布:xbox one手柄连mac 编辑:程序博客网 时间:2024/05/18 00:51
DynamicArray.h
#pragma once#include <iostream>using namespace std;template <class T>class CDynamicArray{public: CDynamicArray(); ~CDynamicArray();private: int Size = 5; int Length = 0; T* array; const int increase = 5;private: bool Resize(int number);public: T& operator [](int num); void Display(void);};
DynamicArray.cpp
#include "DynamicArray.h"template<class T>CDynamicArray<T>::CDynamicArray(){ array = new T[Size];}template<class T>CDynamicArray<T>::~CDynamicArray(){ delete array; array = nullptr;}template<class T>bool CDynamicArray<T>::Resize(int number){ if (number < 0) { return false; }else if (number < Size) { return true; } while(number >= Size) { int length = Size; Size += increase; T* newArray = new T[Size]; for (int i = 0; i < length; i++) { newArray[i] = array[i]; } delete array; array = nullptr; array = newArray; return true; } return false;}template<class T>T& CDynamicArray<T>::operator[](int num){ if (num > Length) { Length = num; } if (Resize(num)) { return array[num]; }}template<class T>void CDynamicArray<T>::Display(void){ for (int i = 0; i < Length + 1; i++) { cout << array[i] << endl; }}
mian.cpp
#include "DynamicArray.h"#include "DynamicArray.cpp"void main() { CDynamicArray<int> arr; for (int i = 0; i < 13; i++) { arr[i] = i; } arr.Display(); system("pause");}
0 0
- 数据结构(c语言)之动态数组
- 复习(数据结构):动态数组:c++_stl写法
- 复习(数据结构):栈:c语言:动态数组
- 复习(数据结构):动态数组:c++_常规写法
- 【数据结构】【C++STL】动态数组 集合 映射和优先队列
- 数据结构 栈(动态数组)
- 数据结构7.动态数组
- 【C++数据结构】动态数组
- 数据结构之动态数组
- 数据结构-动态数组
- C语言动态数据结构
- 数据结构之动态数组实现
- 数据结构动态申请二维数组
- java内置数据结构--数组与动态数组
- 复习(数据结构):动态数组:c_语言数组
- C语言动态数组
- c语言 动态数组
- C语言动态数组
- 几百年前的东西
- Java设计模式之单例模式
- Button、EditText控件的一些容易忽略的好用的地方
- Android 仿网易云音乐 + Java socket自建服务器 过程&心得分享
- Java面试问题汇总(更新中)
- 【C++数据结构】动态数组
- 二叉树后序遍历实例
- 纯js三级联动菜单
- HttpClient4.5发送post请求
- MySQL中文乱码问题
- 《高性能mysql》之复制(第十章)
- C++ 之对象数组
- 视觉+机器学习学习网址收藏
- 搭建私有云的4大主流方案