C语言编程中的插入排序

发布于 2024-12-11 05:03:15 字数 221 浏览 0 评论 0原文

在插入排序中,

  • 我们如何将一个新整数插入到一个整数数组中?
  • 数组的内存会在编译时分配,所以我们不能增加数组的大小,即使我们分配了一些额外的空间,如果所需的内存超过了分配的内存怎么办?
  • 我们应该创建一个新数组来插入每个整数吗?
  • 如果我们想在已排序的数组中插入更多数量的整数,该怎么办?
  • 我们可以用指针来做到这一点吗?

In insertion sort,

  • how can we insert a new integer into an array of integers?
  • The memory for the array will be allocated during compilation,so we cannot increase the size of array,Even if we allocate some extra space,what should we do if the required memory exceeds the allocated memory?
  • should we create a new array for the insertion of each and every integer?
  • What should we do if we want insert more number of integers into the sorted array?
  • Can we do this with pointers?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

巾帼英雄 2024-12-18 05:03:15

我认为您提出的所有问题都可以通过以下方式来回答:

  1. 在不止一种意义上,保存数组的内存是在编译期间分配的,这是正确的。

    1. 在实际运行程序之前无法分配内存。

    2. 虽然数组的大小通常在编译时决定(例如int array[32]),但指针的大小却并非如此。

      例如,int *array = malloc(many * sizeof(int));many 整数腾出空间。

  2. 虽然不能增加为数组分配的内存量是正确的,但对于指针来说却不能增加分配的内存量。

    例如,array = realloc(many_more * sizeof(int));many_more 整数腾出空间。

我建议您阅读本关于指针和数组的教程

I think all the questions you asked can be answered by the following:

  1. It is not true - in more than one sense - that the memory that holds arrays is allocated during compilation.

    1. The memory cannot be allocated before you actually run the program.

    2. While the size of an array is usually decided at compilation (e. g. int array[32]), the same is not true for pointers.

      For example, int *array = malloc(many * sizeof(int)); makes room for many integers.

  2. While it is true that you cannot increase the amount of memory allocated for an array, the same does not hold for pointers.

    For example, array = realloc(many_more * sizeof(int)); makes room for many_more integers.

I suggest you read this tutorial on pointers and arrays.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文