Άσκηση με ταξινόμηση επιλογής

Ξεκίνησε από iomil, 12 Δεκ 2015, 05:16:28 ΜΜ

« προηγούμενο - επόμενο »

iomil

Καλησπέρα!
Μία άσκηση απλή και καθημερινή με τη φυσαλίδα όπως η παρακάτω, θεωρείται τραβηγμένη αν πρέπει να τη λύσουμε με επιλογή ή εισαγωγή;
.... Έχουμε δύο παράλληλους πίνακες ΟΝ και ΗΛ. Θέλουμε να ταξινομήσουμε τις ηλικίες από τη μικρότερη στη μεγαλύτερη και στην περίπτωση που υπάρχουν δύο ίδιες ηλικίες, να ταξινομούνται τα ονόματα αλφαβητικά.

itt

Παράθεση από: iomil στις 12 Δεκ 2015, 05:16:28 ΜΜ
Καλησπέρα!
Μία άσκηση απλή και καθημερινή με τη φυσαλίδα όπως η παρακάτω, θεωρείται τραβηγμένη αν πρέπει να τη λύσουμε με επιλογή ή εισαγωγή;
.... Έχουμε δύο παράλληλους πίνακες ΟΝ και ΗΛ. Θέλουμε να ταξινομήσουμε τις ηλικίες από τη μικρότερη στη μεγαλύτερη και στην περίπτωση που υπάρχουν δύο ίδιες ηλικίες, να ταξινομούνται τα ονόματα αλφαβητικά.

Ρωτάς δηλαδή εαν είναι τραβηγμένη η επιλογή ή η εισαγωγή;  Η άσκηση στο μόνο που μπλέκεται είναι να ορίσεις τον τρόπο που θα συγκρίνεις τα στοιχεία που θα ταξινομήσεις, ο οποίος είναι ο ίδιος που θα είχες και και στην bubblesort.

iomil

Πώς είναι το ίδιο αφού η ταξινόμηση με επιλογή δεν είναι stable. Σκέφτομαι κάτι λάθος και μου φαίνεται πολύ πιο δύσκολη αυτή η άσκηση με ταξινόμηση με επιλογή;;

iomil

Μάλλον βιάστηκα να μιλήσω....
Θα μπορούσα να προτείνω την παρακάτω λύση ή υπάρχει κάτι καλύτερο;

  ΓΙΑ ι  ΑΠΟ  1  ΜΕΧΡΙ  5
    ΓΡΑΨΕ 'Δώσε όνομα και ηλικία'
    ΔΙΑΒΑΣΕ ΟΝ[ι], ΗΛ[ι]
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΙΑ ι  ΑΠΟ 1   ΜΕΧΡΙ  4
    Μιν <-- ΗΛ[ι]
    θ <-- ι
    ΜινΟΝ <-- ΟΝ[ι]
    ΓΙΑ κ  ΑΠΟ  ι+1  ΜΕΧΡΙ  5
      ΑΝ ΗΛ[κ] < Μιν Η (ΗΛ[κ]=Μιν και ΟΝ[κ]<ΟΝ[θ]) ΤΟΤΕ
        Μιν <-- ΗΛ[κ]
        θ <-- κ
        ΜινΟΝ <-- ΟΝ[κ]
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
    ΗΛ[θ] <-- ΗΛ[ι]
    ΗΛ[ι] <-- Μιν
    ΟΝ[θ] <-- ΟΝ[ι]
    ΟΝ[ι] <-- ΜινΟΝ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ