Polski

Ταξινόμηση Πίνακα: Παραδείγματα Ασκήσεων

Ταξινόμηση σε Μονοδιάστατους Πίνακες

1. Ταξινόμηση πίνακα σε αύξουσα σειρά με τη μέθοδο της φυσαλίδας

Για i από 2 μέχρι Ν
Για j από N μέχρι i με_βήμα -1
Αν (Α[j] < Α[j-1]) τότε
tmp <-- Α[j]
Α[j] <-- Α[j-1]
Α[j-1] <-- tmp
Τέλος_Αν
Τέλος_Επανάληψης
Τέλος_Επανάληψης

Για φθίνουσα ταξινόμηση αλλάζει μόνο η σύγκριση:

Αν (Α[j] > Α[j-1]) τότε
2. Παραλλαγή της φυσαλίδας που σταματά όταν ο πίνακας είναι ήδη ταξινομημένος

Αρχή_Επανάληψης
πλ <-- 0     ! πλήθος αντιμεταθέσεων
i <— 2
Για j από N μέχρι i με_βήμα -1
Αν (Α[j] < Α[j-1]) τότε
πλ <-- πλ + 1
tmp <-- Α[j]
Α[j] <-- Α[j-1]
Α[j-1] <-- tmp
Τέλος_Αν
Τέλος_Επανάληψης
i <-- i + 1
Μέχρις_Ότου (i > N Ή πλ = 0)

3. Ταξινόμηση πίνακα σε αύξουσα σειρά με τη μέθοδο της επιλογής

Για i από 1 μέχρι Ν - 1
min <— A[i]
θmin <— i
Για j από i+1 μέχρι Ν
Αν (Α[j] < min) τότε
min <— A[j]
θmin <— j
Τέλος_ΑΝ
Τέλος_Επανάληψης
tmp <-- Α[θmin]
Α[θmin] <-- Α[i]
Α[i] <-- tmp
Τέλος_Επανάληψης
4. Ταξινόμηση πίνακα σε αύξουσα σειρά με τη μέθοδο της παρεμβολής

Για i από 2 μέχρι Ν

key <— A[i]

stop <— Ψευδής

j <— i - 1

Όσο (j >= 1) και (stop = Ψευδής) επανάλαβε

Αν (key < A[j]) τότε

A[j+1] <— A[j]

j <— j - 1

Αλλιώς

stop <— Αληθής

Τέλος_Αν

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

A[j+1] <— key

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


 Ταξινόμηση σε Δισδιάστατους Πίνακες

1. Ταξινόμηση δισδιάστατου πίνακα σε αύξουσα σειρά με φυσαλίδα

Βήμα α – Μεταφορά στοιχείων σε μονοδιάστατο πίνακα

κ <-- 1

Για i από 1 μέχρι Μ

Για j από 1 μέχρι N

Β[κ] <-- Α[i,j]

κ <-- κ + 1

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

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

Βήμα β – Ταξινόμηση του μονοδιάστατου πίνακα Β

Για i από 2 μέχρι Μ*Ν

Για j από Μ*Ν μέχρι i με_βήμα -1

Αν (Β[j] < Β[j-1]) τότε

tmp <-- Β[j]

Β[j] <-- Β[j-1]

Β[j-1] <-- tmp

Τέλος_Αν

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

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

Βήμα γ – Μεταφορά πίσω στον δισδιάστατο πίνακα Α

κ <-- 1

Για i από 1 μέχρι Μ

Για j από 1 μέχρι N

Α[i,j] <-- Β[κ]

κ <-- κ + 1

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

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

Dodaj komentarz