Δευτέρα 29 Ιανουαρίου 2018

Ταξινόμηση ευθείας ανταλλαγής - Ταξινόμηση με επιλογή


Στην Ταξινόμηση ευθείας ανταλλαγής,  ξεκινάμε από το τελευταίο (δεξιό) στοιχείο και το συγκρίνουμε με το προηγούμενό του.
 Αν θέλουμε τα στοιχεία να είναι ταξινομημένα κατά αύξουσα σειρά, τότε  πρέπει το τελευταίο να είναι μεγαλύτερο από το προηγούμενό του.
Αν δεν είναι, τοποθετούμε ένα από τα δύο σε μία μεταβλητή temp, στη θέση αυτού που τοποθετήσαμε στη μεταβλητή, βάζουμε το άλλο στοιχείο και στη θέση του στοιχείου που μόλις μετακινήσαμε βάζουμε το στοιχείο που σώσαμε στη μεταβλητή temp.

Όλα αυτά περιγράφονται αναλυτικά στο βιβλίο ΑΕΠΠ:




Το πρόγραμμα σε ΓΛΩΣΣΑ δινεται παρακάτω:

ΠΡΟΓΡΑΜΜΑ ταξινόμηση_ευθείας_ανταλλαγής
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: α[5], i, j, temp

ΑΡΧΗ
  ΓΡΑΨΕ "Δώσε στοιχεία Πίνακα: "
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 5
    ΔΙΑΒΑΣΕ α[i]
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

  ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ 5
    ΓΙΑ j ΑΠΟ 5 ΜΕΧΡΙ i ΜΕ_ΒΗΜΑ -1
      ΑΝ α[j - 1] > α[j] ΤΟΤΕ
        temp <- α[j]
        α[j] <- α[j - 1]
        α[j - 1] <- temp
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

  ΓΡΑΨΕ " ο ταξινομημένος πίνακας είναι: "
  ΓΡΑΨΕ

  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 5
    ΓΡΑΨΕ α[i]
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ





                   ΤΑΞΙΝΟΜΗΣΗ ΜΕ ΕΠΙΛΟΓΗ (SELECTION SORT)

Η ταξινόμηση με επιλογή (selection sort), αποτελεί βασικό τρόπο ταξινόμησης, που υλοποιείται σε ένα μονοδιάστατο πίνακα σε τρία βήματα:

1.      Επιλογή του ελάχιστου στοιχείου

2.      Ανταλλαγή του ελάχιστου με το πρώτο στοιχείο
   3.      Επανάληψη των βημάτων 1 και 2 για τα υπόλοιπα στοιχεία του πίνακα.

 Ο Αλγόριθμος ταξινόμησης με επιλογή είναι ο παρακάτω:

Αλγόριθμος  Selection_Sort

Δεδομένα // table, n //

 Για i από 1 μέχρι n-1

m ← i

min
← table[i]

Για j από i+1 μέχρι n

Αν min > table[j] Τότε

m
← j

min
← table[j]

Τέλος_Επανάληψης

table[m]
← table[i]


 table[i] ← min
Τέλος_ επανάληψης

Τέλος Selection_Sort


Να γράψετε το πρόγραμμα.

Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου

Σημείωση: Μόνο ένα μέλος αυτού του ιστολογίου μπορεί να αναρτήσει σχόλιο.