#include<iostream>
using namespace std;
struct Dynamic_Array
{
public:
int size;//最大容量
int* Apddr;//地址
int cappcity;//当前容量
};
class Solution
{
public:
//初始化
Dynamic_Array* Init_Array()
{
Dynamic_Array* myArray = (Dynamic_Array*)malloc(sizeof(Dynamic_Array));
myArray->cappcity = 20;
myArray->size = 0;
myArray->Apddr = (int *)malloc(sizeof(int)*myArray->cappcity);
return myArray;
}
//插入数据
void Push_Array(Dynamic_Array* arr, int data)
{
if (arr == nullptr)
{
return;
}
if (arr->cappcity == arr->size)
{
//扩充
int* newarr = (int*)malloc(sizeof(int)*2*arr->cappcity);
//拷贝
memcpy(newarr, arr->Apddr, arr->cappcity * sizeof(int));
//释放
free(arr->Apddr);
arr->Apddr = newarr;
arr->cappcity *= 2;
}
arr->Apddr[arr->size] = data;
arr->size++;
}
//按位置删除数据
void Delete_pos_Array(Dynamic_Array
C++创建动态数组
最新推荐文章于 2024-09-07 23:20:17 发布
本文详细介绍了C++中如何使用new运算符创建动态数组,包括如何分配内存、初始化和释放内存。同时,探讨了动态数组在算法实现中的作用,如动态规划问题的存储解决方案。还讨论了动态数组与静态数组的区别以及在实际编程中如何选择合适的数据结构。
摘要由CSDN通过智能技术生成