java – 为什么不使用堆数组的元素零?

前端之家收集整理的这篇文章主要介绍了java – 为什么不使用堆数组的元素零?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这是我用粗略的草图绘制出具有任意值的堆的开始
0   1    2    3    4    5    6    7    8    9   ...
[-] [10] [14] [15] [22] [21] [24] [23] [44] [30] ...

为什么array [0]中的元素总是被设置为null?
或者为什么我们不应该使用它?

解决方法

有几种方法可以将二进制堆表示为数组.

有一种使用元素零的方式;还有一种方法是不使用元素零点:

> root是元素0;元素n的子元素是元素2n 1和2n 2;
> root是元素1;元素n的子元素是元素2n和2n 1.

两者都不比其他人更“正确”.前者更适合使用zero-based arrays的编程语言,而后者更适合使用one-based arrays的语言.

看来你遇到了使用第二种方法的实现.由于所讨论的语言,Java使用基于零的数组,元素零存在但未被使用.

猜你在找的Java相关文章