0
点赞
收藏
分享

微信扫一扫

capacity==size时的扩容

zhyuzh3d 2022-05-03 阅读 40

自我复习使用

typedef int HPDataType;
typedef struct Heap {
	HPDataType* a;
	size_t capacity;
	size_t size;
}HP;
void kuorong(HP* php, HPDataType x)
{
	assert(php);
	if (php->capacity == php->size)//判断相等
	{
		size_t newcapacity = php->capacity == 0 ? 4 : php->capacity * 2;
//为0就赋值4,不为0就乘2
		HPDataType* tmp = realloc(php->a, sizeof(HPDataType) * newcapacity);
		if (tmp == NULL)
		{
			pirntf("realloc fail");
			exit(-1);
		}
		php->a = tmp;//将realloc的空间赋值给原数组
		php->capacity = newcapacity;//同理
	}
}
举报

相关推荐

0 条评论