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