final changes
This commit is contained in:
parent
fbb22de72a
commit
48c93b9b79
@ -18,25 +18,32 @@ public class Aufgabe4 {
|
|||||||
printArray(inputArray);
|
printArray(inputArray);
|
||||||
int res=-1;
|
int res=-1;
|
||||||
int rangeMax=inputArray.length-1, rangeMin=0,center=0;
|
int rangeMax=inputArray.length-1, rangeMin=0,center=0;
|
||||||
|
int diff;
|
||||||
long lastdate=0;
|
long lastdate=0;
|
||||||
center = (rangeMax+1 - rangeMin) / 2; // round up
|
|
||||||
while(res < 0){
|
while(res < 0){
|
||||||
Date date = new Date();
|
Date date = new Date();
|
||||||
long deltaT = date.getTime()-lastdate;
|
long deltaT = date.getTime()-lastdate;
|
||||||
if(deltaT>timeout) {
|
if(deltaT>timeout) {
|
||||||
lastdate = date.getTime();
|
lastdate = date.getTime();
|
||||||
|
diff = (rangeMax - rangeMin) / 2; // intermediate value
|
||||||
|
if (diff==0) {
|
||||||
|
if (value == inputArray[center]) {
|
||||||
|
res = center;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
res = center+1;
|
||||||
|
center +=1; // not needed
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
center = rangeMin + diff;
|
||||||
|
}
|
||||||
|
|
||||||
infoGraphic(value, center, rangeMin, rangeMax, rangeMax, inputArray);
|
infoGraphic(value, center, rangeMin, rangeMax, rangeMax, inputArray);
|
||||||
if (value == inputArray[center]) {
|
if (value >= inputArray[center]) {
|
||||||
res = center;
|
|
||||||
} else if (value > inputArray[center]) {
|
|
||||||
rangeMin = center;
|
rangeMin = center;
|
||||||
center += (rangeMax+1 - rangeMin) / 2; // round up
|
|
||||||
// center = (rangeMax+1 + rangeMin) / 2; // round up
|
|
||||||
} else {
|
} else {
|
||||||
rangeMax = center;
|
rangeMax = center;
|
||||||
center -= (rangeMax+1 - rangeMin) / 2; // round up
|
|
||||||
//center -= (center+1 - rangeMin) / 2;
|
|
||||||
// center = (rangeMax + rangeMin) / 2;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user