Τώρα είναι Παρ 29 Μαρ 2024 02:27 am

Όλοι οι χρόνοι είναι UTC + 2 ώρες [ DST ]




Δημιουργία νέου θέματος Απαντήστε στο θέμα  [ 1 Δημοσίευση ] 
Συγγραφέας Μήνυμα
 Θέμα δημοσίευσης: Ταξινόμηση Επιλογής
ΔημοσίευσηΔημοσιεύτηκε: Τετ 19 Μάιος 2004 02:41 pm 
Χωρίς σύνδεση

Εγγραφή: Πέμ 22 Απρ 2004 11:16 am
Δημοσιεύσεις: 60
Τοποθεσία: Θεσσαλονίκη
Syntax: [ Download ] [ Hide ]
! =================================================================================================================
! Έστω A ένας πίνακας ακεραίων αριθμών με N στοιχεία.
! 0 αλγόριθμος ταξινόμησης με επιλογή ολοκληρώνεται σε N-1 "περάσματα" του πίνακα ως εξήs:
! Στο πρώτο πέρασμα βρίσκουμε το μικρότερο στοιχείο του πίνακα, καθώς και το διατακτικό του αριθμό θ.
! Το βάζουμε στη Θέση 1, ενώ το A[1] το βάζουμε στη Θέση θ. Με άλλα λόγια, ανταλλάσσουμε τις τιμές  A[1] και Α[θ].
! Έτσι, το μικρότερο στοιχείο του πίνακα βρίσκεται στη Θέση 1.
! Στο δεύτερο πέρασμα βρίσκουμε το μικρότερο μεταξύ των στοιχείων Α[2] έως Α[Ν].
! Εστω ότι αυτό είναι Α[i] και έστω ότι βρίσκεται στη Θέση θ΄. Εναλλάσσουμε τη Θέση των Α[2] και Α[θ΄].
! Μετά τη λήξη των δύο πρώτων περασμάτων τα δύο μικρότερα στοιχεία του πίνακα βρίσκονται στις θέσεις A[1] και Α[2].
! Προκειμένου να ταξινομήσουμε τα στοιχεία Α[3] ...Α[Ν], ακολουθούμε την ίδια διαδικασία.
! =================================================================================================================


ΠΡΟΓΡΑΜΜΑ Ταξινόμηση_Επιλογής_Αύξουσα_     ! (Selection_Short)
ΣΤΑΘΕΡΕΣ
  N=20
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: i,j,Α[N],θ,επ,temp
ΑΡΧΗ

  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ N      ! δημιουργία αρχικού μη ταξινομημένου πίνακα
    Α[i] <-- 3 + i + Α_Μ ((-1)^i)
    ΓΡΑΨΕ_ Α[I],' '
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΡΑΨΕ

  επ <-- 0    ! μετρητής επαναλήψεων αλγορίθμου
              ! ταξινόμηση το ίδιο αργή με μια απλή φυσσαλίδα
              ! αλλά αρκετά πιο προσιτή στους μαθητές
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ N-1
    θ <-- i
    ΓΙΑ j ΑΠΟ i+1 ΜΕΧΡΙ N
      ΑΝ Α[j]<Α[θ] ΤΟΤΕ
        θ <-- j
      ΤΕΛΟΣ_ΑΝ
      επ <-- επ+1
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
    temp <-- Α[θ]
    Α[θ] <-- Α[i]
    Α[i] <-- temp
    επ <-- επ+1
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

  ΓΡΑΨΕ
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ N      ! εμφάνιση τελικού ταξινομημένου πίνακα
    ΓΡΑΨΕ_ Α[i],' '
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΡΑΨΕ
  ΓΡΑΨΕ επ, ' επαναλήψεις'

ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

 


Κορυφή
 Προφίλ  
Απάντηση με παράθεση  
Τελευταίες δημοσιεύσεις:  Ταξινόμηση ανά  
Δημιουργία νέου θέματος Απαντήστε στο θέμα  [ 1 Δημοσίευση ] 

Όλοι οι χρόνοι είναι UTC + 2 ώρες [ DST ]


Μέλη σε σύνδεση

Μέλη σε αυτή την Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 3 επισκέπτες


Δεν μπορείτε να δημοσιεύετε νέα θέματα σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να απαντάτε σε θέματα σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να επεξεργάζεστε τις δημοσιεύσεις σας σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να διαγράφετε τις δημοσιεύσεις σας σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να επισυνάπτετε αρχεία σε αυτή τη Δ. Συζήτηση

Αναζήτηση για:
Μετάβαση σε:  
cron
Προβολές: