Hallo,
Großes Problem, vielleicht auch nur ein verständnisproblem.
- Füllen eines Arrays mit Integer
Dem BinQuicksort_RUNTIME wird das in a übergeben, was soweit auch geht.
Mit exch werden wenn nötig 2 Elemente getauscht.
Nun kommt das Problem der Methode bit übergebe ich nun eines der Objekte, in der Return zeile sollte die Variable
key aber int sein. Nun meckert er das er mit Object und >> nichts anfangen kann, was ja auch verständlich ist da ja >> für Object undefiniert ist. Wie kann ich dem Verklickern das er das bekommene Object nun als Int weiternutzt?
ein Cast hat nicht geklappt, gibts da noch andere Möglichkeiten?
Bin über jeden Tip dankbar.
Gruß
Tobias
???:L
Großes Problem, vielleicht auch nur ein verständnisproblem.
- Füllen eines Arrays mit Integer
Code:
void initRandomArray(){
Random rnd = new Random(1234);
for(int i=0; i<a.length; i++) {
a[i] = new Integer((int)(a.length * rnd.nextDouble()));
}
}
Dem BinQuicksort_RUNTIME wird das in a übergeben, was soweit auch geht.
Code:
public static void BinQuicksort_RUNTIME(Comparer comp, Object[] a, int left0, int right0, int d) {
int i = left0;
int j = right0;
if(right0 <= left0 || d>bitsItem.bitsword) return;
while(j!=i){
while(bitsItem.bit(a[i],d) == 0 && (i<j)) i++;
while(bitsItem.bit(a[j],d) == 0 && (j>i)) j++;
exch(a,i,j);
}
if(bitsItem.bit(a[right0],d)==0) j++;
BinQuicksort_RUNTIME(comp,a,left0,j-1,d+1);
BinQuicksort_RUNTIME(comp,a,j,right0,d+1);
}
static void exch(Object[] a, int i, int j){
Object t = a[i]; a[i]=a[j]; a[j]=t;
}
Mit exch werden wenn nötig 2 Elemente getauscht.
Nun kommt das Problem der Methode bit übergebe ich nun eines der Objekte, in der Return zeile sollte die Variable
key aber int sein. Nun meckert er das er mit Object und >> nichts anfangen kann, was ja auch verständlich ist da ja >> für Object undefiniert ist. Wie kann ich dem Verklickern das er das bekommene Object nun als Int weiternutzt?
ein Cast hat nicht geklappt, gibts da noch andere Möglichkeiten?
Code:
static int bit(Object key, int B){
return((key >> bitsbyte*(bytesword-B-1))&(R-1));
}
Bin über jeden Tip dankbar.
Gruß
Tobias
???:L