Friday, April 25, 2008

Sorting two dimensional arrays in java

If you want to sort a data with its description, you may not use

Arrays.sort(data);

For example; to sort the following data according to values given by Bidders in ascending order;

"Bidder 1 = 25.2"

"Bidder 2 = 12.0"

"Bidder 3 = 45.0"

"Bidder 4 = 2.0"

and to get the result as;

"Bidder 3 = 45.0"

"Bidder 1 = 25.2"

"Bidder 2 = 12.0"

"Bidder 4 = 2.0"

to do this, we should create following temporary arrays.

bos_biddername [0] = "Bidder 1"; bos_deger [0] = 25.2;

bos_biddername [1] = "Bidder 2"; bos_deger [1] = 12.0;

bos_biddername [2] = "Bidder 3"; bos_deger[2] = 45.0;

bos_biddername [3] = "Bidder 4"; bos_deger [3] = 2.0


//sort manually bos_deger[] and get

// bos_biddername[] in descending order

double temp;
String temp2;

for (int ik = 0; ik < bos_deger.length - 1; ik++ ) {
for (int j = ik + 1; j < bos_deger.length; j++) {
if( bos_deger[ik] < bos_deger[j] ) //sorting
{ temp = bos_deger[ik]; //swapping
temp2 = bos_biddername[ik];
bos_deger[ik] = bos_deger[j];
bos_biddername[ik]=bos_biddername[j];
bos_deger[j] = temp;
bos_biddername[j] = temp2;
}
}
}
// end of sort




The result will be these sorted arrays in ascending order;

bos_biddername [0] = "Bidder 3"; bos_deger [0] = 45.0;
bos_biddername [1] = "Bidder 1"; bos_deger [1] = 25.2;
bos_biddername [2] = "Bidder 2"; bos_deger[2] = 12.0;
bos_biddername [3] = "Bidder 4"; bos_deger [3] = 2.0

2 comments:

LuSeeYa said...

Hello,
you asked about my camera,
it is Panasonic Lumix, DMC-FZ4, I mostly use the simple mode, it works well. I am happy you like my pictures:)
Lucie

Guven Elyan said...

Thank you very much for your answer. You had very good results with a 4mp camera. But it has 12x optic zoom. Thanks again.

Guven Elyan
http://guvenelyan.googlepages.com