This is an old revision of the document!
Συχνά προκύπτει η ανάγκη να ταξινομήσουμε αντικείμενα ή να εφαρμόσουμε δυαδική αναζήτηση πάνω σε ένα ήδη ταξινομημένο σύνολο. Προκειμένου να εφαρμόσουμε τους παραπάνω αλγορίθμους είναι αναγκαίο να μπορούμε να συγκρίνουμε αντικείμενα μεταξύ τους. Ας υποθέσουμε ότι έχουμε μια σειρά από αντικείμενα της κλάσης Rectangle τα οποία θέλουμε να ταξινομήσουμε όπως παρακάτω:
class Rectangle { int width; int height; public Rectangle(int initWidth, int initHeight) { width = initWidth; height = initHeight; } int area() { return width * height; } public String toString() { return "width: "+width+", height: "+height; } }
import java.util.Random; class SortRectangleArray { public static void main(String []args) { Random rand = new Random(12345); Rectangle []rectangles = new Rectangles[5]; for(int i=0;i<5; i++) rectangles[i] = new Rectangle(rand.nextInt(10), rand.nextInt(10)); print_rectangles(rectangles); Arrays.sort(rectangles); print_rectangles(rectangles); } public print_rectangles(Rectangle []rectangles) { for(int i=0; i<rectangles.length; i++) System.out.println(i+". "+rectangles[i].toString()); } }
O παραπάνω κώδικας