ΕΡΩΤΗΣΗ - ΑΝΤΙΜΕΤΑΘΕΣΗ ΤΙΜΩΝ

Ξεκίνησε από ΑΝΔΡΕΑΣ, 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


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

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

Με εκτίμηση,

EleniK

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

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