SpY Δημοσ. 4 Ιανουαρίου 2005 Δημοσ. 4 Ιανουαρίου 2005 Παιδιά πρέπει να φτίαξω μια απλή εφαρμογή η οποία : Δίνονται 10 αριθμοι αταξινόμητοι πχ 8,2,4,6,0,1,4,9,3,5,7 και πρέπει να ταξινομηθούν με τον Αλγόριθμο Straight Radix Sort O αλγόριθμος ειναι αυτος : > class StraightRadixSort { static final int w = 7, m = 1; static final int M = (int) Math.pow(2, m); int bits(int x, int k, int j) { return (x >> k) & ~(~0 << j); } void straightradix(int a[]) { int i, j, pass, N = a.length; int b[] = new int[N]; int count[] = new int[M]; for (pass = 0; pass < w/m; pass++) { for (j = 0; j < M; j++) count[j] = 0; for (i = 0; i < N; i++) count[bits(a[i], pass*m, m)]++; for (j = 1; j < M; j++) count[j] += count[j-1]; for (i = N-1; i >= 0; i--) b[--count[bits(a[i], pass*m, m)]] = a[i]; for (i = 0; i < N; i++) { a[i] = b[i]; } } } void sort(int a[]) { straightradix(a); } } Μπορεί κάποις να με βοηθήσει για την υλοποίηση ? Ευχαριστω προκαταβολικά
Dionisos Δημοσ. 4 Ιανουαρίου 2005 Δημοσ. 4 Ιανουαρίου 2005 To mono pou xreiazetai na kaneis einai na dhmiourghseis ena array me tous akeraious pou 8eleis na kaneis sort, na dhmiourghseis ena antikeimeno ths class pou exeis kai na kaleseis th me8odo sort tou antikeimenou. Amesws meta to array 8a einai ta3inomhmeno. Filika Dionisos
SpY Δημοσ. 4 Ιανουαρίου 2005 Μέλος Δημοσ. 4 Ιανουαρίου 2005 Dionisos Τελικά το έκανα!! > int [] sortArray = {5, 3, 8, 6, 4, 1, 9, 2, 0 ,7,}; // make an instance of the StraightRadixSort class StraightRadixSort srs = new StraightRadixSort(); // invoke the StraightRadixSort class' sort() method srs.sort(sortArray); System.out.print("Arxikos Pinakas :"); //Ektyowsi Arxikou Pinaka System.out.print("5, 3, 8, 6, 4, 1, 9, 2, 0, 7,"); System.out.println(); //---Ektypwsi Taxinomimenou Pinaka System.out.print("Taxinomimenos Pinakas :"); for (int i=0; i < sortArray.length; i++) System.out.print(sortArray[i]); System.out.println(); } } Απλά μια μικρή ερώτηση: Ο Taxinomimenos Pinakas μου εκτυπώνεται ο ενας αριθμός δίπλα στον άλλον 012345.... πως μπορώ να βάλω κενό ανάμεσα ??? Κατι με το Print παίζει αλλά δεν θυμάμαι τι!!! Ευχαριστώ
Γηρυόνης Δημοσ. 4 Ιανουαρίου 2005 Δημοσ. 4 Ιανουαρίου 2005 > System.out.print(sortArray); κάνε το System.out.print(sortArray + " ");
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.