小编Asm*_*m .的帖子

C中realloc函数的时间复杂度是多少?

我有一个问题:realloc函数的时间复杂度是多少?例如,我有一个整数数组:a [10].当然,数组已经以这种方式动态分配=>

int *a = (int*)malloc(10*sizeof(int));
Run Code Online (Sandbox Code Playgroud)

然后我想将这个数组的大小调整为11,以便为数组a插入一个额外的值,所以我做=>

a = (int*)realloc(a, 11*sizeof(int));
Run Code Online (Sandbox Code Playgroud)

我的问题是:重新分配的时间复杂度是多少?realloc是否只是在数组中添加一个额外的单元格,然后它需要O(1)或者它重新占用整个数组a,添加额外的第11个单元格并返回新大小的数组,在这种情况下,此操作的时间复杂度为O (N)?哪种假设是正确的?

c memory arrays allocation

3
推荐指数
1
解决办法
946
查看次数

标签 统计

allocation ×1

arrays ×1

c ×1

memory ×1