话不多说,直接上代码,本次项目申请与释放内存借助于c语言的malloc与free函数,而不用c++的new与delete:
动态数组的头文件DynamicArray.h
#ifndef DYNAMICARRAY_H
#define DYNAMICARRAY_H
#include <iostream>
#include <cstdio>
#include <cstdlib>
typedef struct Array_Dynamic {
//定义动态链表
int size;//数组长度
int capacity;//容量
int* ptrAdd;//数组地址
};
//初始化链表
Array_Dynamic* init_Array();
//尾插元素
void push_back(Array_Dynamic* array, int value);
//按位置删除元素
bool deleteElem_pos(Array_Dynamic* array, int pos);
//按值删除元素
bool deleteElem_value(Array_Dynamic* array, int value);
//按照位置查找某个元素
int findElem_pos(Array_Dynamic* array, int pos);
//按照值查找某个元素 ,并且返回其元素位置,返回-1表示找不到
int findElem_value(Array_Dynamic* array, int value);
//打印元素
void print(Array_Dynamic* array);
//获取链表的容量
int getcapacity(Array_Dynamic* array);
//获取链表的大小
int getSize(Array_Dynamic* array);
//获取链表的首元素
int getFrontElem(Array_Dynamic* array);
//释放动态数组内存
void freeArray(Array_Dynamic* array);
#endif
动态数组的源文件DynamicArray.cpp
#include "DynamicArray.h"
Array_Dynamic* init_Array()
{
Array_Dynamic* array_dynamic = (Array_Dynamic*)malloc(sizeof(Array_Dynamic));
array_dynamic->capacity = 20;
array_dynamic->size = 0;
array_dynamic->pt