Έστω ότι δίνεται µονοδιάστατος πίνακας Ν θέσεων και ζητείται να βρεθεί αν ο πίνακας αυτός είναι ταξινοµηµένος π.χ. σε αύξουσα διάταξη.
Τρόπος επίλυσης:
Για να προκύψει το συµπέρασµα, θα πρέπει να ελέγξουµε ανά 2 τα διαδοχικά στοιχεία του
πίνακα. ∆ηλαδή, το 1ο µε το 2ο, το 2ο µε το 3ο, το 3ο µε το 4ο κ.ο.κ. Για να είναι ο πίνακας ταξινοµηµένος σε αύξουσα διάταξη θα πρέπει κάθε προηγούµενο στοιχείο να είναι µικρότερο από κάθε επόµενο. ∆ηλαδή, το i στοιχείο του πίνακα να είναι µικρότερο από το i+1. Προφανώς, αν βρούµε έστω κι ένα ζεύγος διαδοχικών στοιχείων για το οποίο να µην ισχύει το παραπάνω, τότε ο πίνακας δεν είναι ταξινοµηµένος, οπότε δεν υπάρχει λόγος να συνεχίσουµε. Ο αριθµός των συγκρίσεων που θα κάνουµε θα είναι το πολύ όσο το µέγεθος του πίνακα µείον ένα. (π.χ για ένα πίνακα Ν θέσεων θα κάνουµε το πολύ Ν-1 συγκρίσεις). Θα εφαρµόσουµε σειριακή αναζήτηση για να βρούµε κάποιο στοιχείο i που να είναι µεγαλύτερο από το i+1. ∆ίνουµε στο Ν ενδεικτικά την τιµή 10 και έχουµε τον αλγόριθµο: Αλγόριθµος Είναι_ταξινοµηµένος ∆εδοµένα //Α// βρέθηκε <- ΨΕΥ∆ΗΣ i <- 1 !θέτω το i να είναι µέχρι 9 γιατί ψάχνω µέχρι το i+1=10 Όσο i <= 9 ΚΑΙ βρέθηκε = ΨΕΥ∆ΗΣ επανάλαβε Αν Α[i] > Α[i+1] τότε βρέθηκε <- ΑΛΗΘΗΣ Αλλιώς i <- i + 1 Τέλος_αν Τέλος_επανάληψης
Αν βρέθηκε = ΑΛΗΘΗΣ τότε
Εµφάνισε "Ο πίνακας δεν είναι ταξινοµηµένος σε αύξουσα σειρά" Αλλιώς Εµφάνισε "Ο πίνακας είναι ταξινοµηµένος σε αύξουσα σειρά" Τέλος_αν Τέλος Είναι_ταξινοµηµένος
Σφυράκης Μιχάλης, Καθηγητής Πληροφορικής Σελίδα 1 / 1
44 Metatroph Apo Mia Morfh Domhs Epanalhpshs Se Mia Allh H Metatroph Mias Entolhs Epanalhpshs Se Mia Allh H Stis Alles Dyo Entoles Epanalhpshs Apotelei Ena Oema Poy Arketes Fores Exei Exet 1