在10个整数的数组上,C中冒泡排序的RAM消耗的封套背面估计系统可能吗?

在10个整数的数组上,C中冒泡排序的RAM消耗的封套背面估计系统可能吗?,c,bubble-sort,C,Bubble Sort,在一个平凡的数据集(10个整数数组)上,用C语言编写的一个简单算法(冒泡排序)可以在纸上精确估计需要消耗多少RAM吗?或者编译器实现问题和“字节填充”会使这变得不可能吗 (给定一个平台,如32位x86机器) 冒泡排序可以就地工作,因此除了排序的数组之外,它不需要内存。 一个10整数数组需要40个字节,外加一些小的平台相关分配开销。 如果你想要一个非常精确的估计,你需要考虑可执行文件的大小,用于进程管理的内存,等等。但是在x86上,通常有很多内存,这些事情真的没什么好担心的 如果数组更大,则每个整

在一个平凡的数据集(10个整数数组)上,用C语言编写的一个简单算法(冒泡排序)可以在纸上精确估计需要消耗多少RAM吗?或者编译器实现问题和“字节填充”会使这变得不可能吗


(给定一个平台,如32位x86机器)

冒泡排序可以就地工作,因此除了排序的数组之外,它不需要内存。

一个10整数数组需要40个字节,外加一些小的平台相关分配开销。
如果你想要一个非常精确的估计,你需要考虑可执行文件的大小,用于进程管理的内存,等等。但是在x86上,通常有很多内存,这些事情真的没什么好担心的


如果数组更大,则每个整数需要4个字节,而保持不变的开销可以忽略不计。整数之间没有填充,因此对于大型数组,您只需要关心每个整数的4个字节。

这听起来像是家庭作业,所以我会问您一些问题:

  • 排序算法是对项目进行就地排序还是对副本进行排序
  • 如果他们在复制,复制列表的大小不会主导计算吗
  • 如果它们在适当的位置排序,那么在列表空间之外需要多少存储空间
  • (3)中的额外存储量是否取决于列表的大小

  • 只是一张小纸条。我们无法100%确定任何平台中可执行文件使用的内存,但如果您想确保没有填充,可以在代码中使用#pragma pack指令。