在插入排序中,
- 我们如何将新整数插入到整数数组中?
- 数组的内存会在编译时分配,所以我们不能增加数组的大小,即使分配一些额外的空间,如果所需的内存超过了分配的内存怎么办?
- 我们应该创建一个新数组来插入每个整数吗?
- 如果我们想在已排序的数组中插入更多数量的整数,该怎么办?
- 我们可以用指针来做到这一点吗?
最佳答案
我认为您提出的所有问题都可以通过以下方式回答:
保存数组的内存是在编译期间分配的,这在多种意义上是不正确的。
在实际运行程序之前无法分配内存。
虽然数组的大小通常在编译时决定(例如
int array[32]
),但指针的大小却并非如此。例如,
int *array = malloc(many * sizeof(int));
为many
整数腾出空间。
虽然确实不能增加为数组分配的内存量,但对于指针来说却不。
例如,
array = realloc(many_more * sizeof(int));
为many_more
整数腾出空间。
关于c - C语言编程中的插入排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7830672/