Αν θέλουμε τα στοιχεία να είναι ταξινομημένα κατά αύξουσα σειρά, τότε πρέπει το τελευταίο να είναι μεγαλύτερο από το προηγούμενό του.
Αν δεν είναι, τοποθετούμε ένα από τα δύο σε μία μεταβλητή 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-1m ← 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
Να γράψετε το πρόγραμμα.
Δεν υπάρχουν σχόλια:
Δημοσίευση σχολίου
Σημείωση: Μόνο ένα μέλος αυτού του ιστολογίου μπορεί να αναρτήσει σχόλιο.