学习数据结构的过程,有助于你对编程的整体有一个理解
另外,推荐无论如何都要学习C语言,很有启发
调试环境:VS2019 社区版
确定一个数组,需要三个有效参数
1.* pBase 首元素地址
2.len 总数组长度
3.cnt 有效数据长度
如何读懂代码:
1.熟悉执行流程
2.熟悉实现过程
3.试数
#include<stdio.h>
#include<stdbool.h>
#include<stdlib.h>
#include<malloc.h>
typedef struct Arr
{
int* pBase;//数组的首地址
int len;//数组的长度
int cnt;//有效数据长度,一般面向对象的语言都是可以直接调用的:arr.length 类似这种
}ARR, *pARR ;// struct Arr ARR struct ARR * pARR
bool isEmpty(pARR pArray)
{
//有效数据是0
if (0 == pArray->cnt)
{
return true;
}
else
{
return false;
}
}
bool isFull(struct Arr* pArray)
{
//有效数据等于长度
if (pArray->cnt == pArray->len)
{
return true;
}
else
{
return false;
}
};
void initArr(struct Arr* pArray, int length)//初始化结构体,两个形参,一个是地址,一个是长度
{
pArray->pBase = (int*)malloc(sizeof(int) * length);//给数组的第一个元素分配内存
if (NULL == pArray->pBase)
{
printf("内存分配失败\n");
exit