您的位置:首页 > 编程语言 > Java开发

Java实现最大二叉堆中找min<=x<max的x们

2013-02-14 19:52 666 查看
写在前面:

定义见上一篇文章

代码:

Java代码







/**

* @description 最大二叉树中找a<=x<b的x

* @param min

* @param max

* @param array

* @return

*

* @author LynnWong

*/

private int[] getX(int min,int max,int[] array){

int rootSite = 0;

int n = 0;

int [] XArray = new int[array.length];

while(rootSite<array.length-1){

int root = array[rootSite];

if(root>min||root==min){

if((rootSite*2+1<array.length-1)&&(min==array[rootSite*2+1]||min<array[rootSite*2+1])&&array[rootSite*2+1] <max){

XArray[n++]=array[rootSite*2+1];

}

if((rootSite*2+1<array.length-1)&&(min==array[rootSite*2+2]||min<array[rootSite*2+2])&&array[rootSite*2+2] <max){

XArray[n++]=array[rootSite*2+2];

}

}else

break;

rootSite++;

}

return XArray;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: