Αποστολέας Θέμα: ΕΡΩΤΗΣΗ - ΑΝΤΙΜΕΤΑΘΕΣΗ ΤΙΜΩΝ  (Αναγνώστηκε 2311 φορές)

ΑΝΔΡΕΑΣ

  • Επισκέπτης
ΕΡΩΤΗΣΗ - ΑΝΤΙΜΕΤΑΘΕΣΗ ΤΙΜΩΝ
« στις: 21 Μαρ 2006, 01:12:45 μμ »
Θα ηθελα να κανω μια ερωτηση.Ποια η διαφορα των δυο πιο κατω δομών;

!στον αλγόριθμο φυσαλίδας

temp<- A[j]
A[j]<- A[j-1]             ! Αντιμετάθεσε Α[J],A[J-1]
A[j-1]<-temp

και

temp<- A[j-1]
A[j-1]<- A[j]             ! Αντιμετάθεσε Α[J-1],A[J]
A[j]<-temp

Μπορούν και οι δυο να χρησιμοποιηθουν στη φυσαλίδα(είτε αυξουσα ειτε φθινουσα);
Ευχαριστώ.





P.Tsiotakis

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 3325
    • P.Tsiotakis
Απ: ΕΡΩΤΗΣΗ - ΑΝΤΙΜΕΤΑΘΕΣΗ ΤΙΜΩΝ
« Απάντηση #1 στις: 21 Μαρ 2006, 01:24:44 μμ »

Καμία διαφορά, έχουν ακριβώς το ίδιο αποτέλεσμα (και με ένα παραδειγματάκι το επαληθεύουμε)

Δεν πρέπει βέβαια, να ξεχνάμε οτι η μεταβλητή temp και ο πίνακας είναι του ιδίου τύπου π.χ. αριθμητικές (αν θέλουμε να αντιμεταθέσουμε και τα στοιχεία αλφαριθμητικού πίνακα, πρέπει να πάρουμε άλλη βοηθητική μεταβλητή)

Με εκτίμηση,

EleniK

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 708
Απ: ΕΡΩΤΗΣΗ - ΑΝΤΙΜΕΤΑΘΕΣΗ ΤΙΜΩΝ
« Απάντηση #2 στις: 24 Μαρ 2006, 12:22:26 πμ »
Και οι δυο περιπτώσεις είναι σωστές. Η διαφορά τους είναι ότι στον πάνω αλγόριθμο, το από κάτω στοιχείο πρώτα καταχωρείται στην μεταβλητρή temp, ενώ στη δεύτερη περίπτωση το από πάνω στοιχείο καταχωρείται πρώτα στην temp. Είναι όπως το να ανταλλάσεις τις θέσεις δυο τιμών, δεν έχει σημασία ποια θα 'κουνήσεις' πρώτη. Οι ΄κινήσεις είναι κυκλικές , οπότε το αποτέλεσμα το ίδιο.

Το αύξουσα καθορίζεται από το Αν. Αν Α[ξ]<Α[ξ-1], ενώ το φθίνουσα είναι Α[ξ]>Α[ξ-1]
Ελένη Κοκκίνου
Καθηγήτρια Πληροφορικής, ΠΕ19