Προς το περιεχόμενο

Ψευδοκωδικας?


-NetHawk-

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλημερα.Θελω λιγο βοηθεια.Προκεται να ενα προβλημα που πεφτει συνεχεια σε καποιες εξετασεις που θα δωσω και θελω αν μπορειτε να μου πειτε τη λυση.Λοιπον εχουμε και λεμε.Απο ενα συνολο αριθμων οι οποιοι εισαγονται τυχαια σε εναν συστημα μηχανοργανωσης(δλδ. πρωτο το 1 μετα εισαγεται το 340 μετα το 2 κτλπ)θελω να κανω ταξινομηση αυτων των αριθμων απο τον μικροτερο προς τον μεγαλυτερο με χρηση ψευδοκωδικα.Μπορει κανεις να με βοηθησει?Ευχαριστω.

Δημοσ.

Το πρόβλημα δεν είναι ο ψευδοκώδικας, αλλά η επιλογή της μεθόδου. Υπάρχουν δεκάδες μέθοδοι ταξινόμησης, ξεκινώντας από τις απλές (και αργές), όπως ο αλγόριθμος της φυσσαλίδας (Bubblesort) ή της επιλογής (Selection Sort) μέχρι τις ταχύτατες (αλλά πιθανόν δυσνόητες), όπως ο αλγόριθμος Quicksort.

 

Εχεις την ελευθερία ν' αναπτύξεις όποιον θες, πρέπει ν' αναφερθείς σε κάποιον συγκεκριμένο (βάσει εξεταστέας ύλης) ή κάποιος "προχωρημένος" θα σου δώσει περισσότερες μονάδες;

 

Ρίξε μια ματιά εδώ κι αν χρειαστεί τα ξαναλέμε.

Δημοσ.

Bubble sort (ipothetis oti o pinakas a periexi tis times):

 

 

 

Η μέθοδος αυτή συγκρίνει και ταξινομεί τα δύο πρώτα στοιχεία με αντιμετάθεση και στη συνέχεια τον δεύτερο με τον τρίτο, τον τρίτο με τον τέταρτο κ.ο.κ. Κάθε κύκλος συγκρίσεων τελειώνει όταν συγκριθεί το προτελευταίο στοιχείο με το τελευταίο στοιχείο του πίνακα. Κάνουμε χρήση ενός βοηθητικού πεδίου 1 που σημειώνει αν έγινε η αντιμετάθεση ή όχι. Αυτός ο τρόπος έχει σαν αποτέλεσμα σε κάθε κύκλο συγκρίσεων το μεγαλύτερο κάθε φορά στοιχείο να τοποθετείται στην τελική του θέση.

 

Με αυτή τη μέθοδο χρειάζεται ένας τελευταίος έλεγχος που θα διαπιστώσει ότι κατά τον τελευταίο κύκλο συγκρίσεων δεν έγινε καμία αντιμετάθεση στοιχείων, άρα ο πίνακας είναι ταξινομημένος. Η κίνηση των τιμών των στοιχείων του πίνακα θυμίζει το πως ανεβαίνουν οι φυσαλίδες μέσα από τη μάζα του υγρού. Γι’ αυτό λέμε ότι κάνουμε ταξινόμηση φυσαλίδων.

5.2.1 Ψευδοκώδικας

 

διάβασε τον πίνακα a

 

εμφάνισε τον πίνακα a

 

τοποθέτησε 1 στο L

 

επανέλαβε εφόσον L < > 0

 

τοποθέτησε στο i ß 0

 

τοποθέτησε στο Lß 0

 

επανέλαβε μέχρι ότου το i = n - 1(αριθμός συγκρίσεων)

 

τοποθέτησε στο i ß i + 1

 

αν a <= a[i+1] τότε

 

αλλιώς

 

τοποθέτησε στο Χ ß a (αντιμετάθεση)

 

τοποθέτησε στο a ß a[i+1] (τιμών)

 

τοποθέτησε στο a[i+1] ß Χ

 

τοποθέτησε στο L ß i (έγινε αντιμετάθεση)

 

τέλος επανάληψης

 

τέλος επανάληψης

 

εμφάνισε τον πίνακα

 

τέλος επεξεργασίας

 

[/q]

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...