Μονοδιάστατοι Πίνακες
Οι μονοδιάστατοι πίνακες είναι στατικές δομές δεδομένων.Το πλεονέκτημα που μας δίνουν είναι η αποθήκευση των δεδομένων σε αυτές και η δυνατότητα επεξεργασίας τους στη συνέχεια. Στα βασικά σημεία θεωρίας (Κεφάλαιο 3 και Κεφάλαιο 9) θα βρείτε όλες τις θεωρητικές λεπτομέρειες που χρειάζεστε για το μάθημα.
Παρακάτω θα μελετήσουμε ορισμένες βασικές λειτουργίες - μεθοδολογίες που μπορούμε να εφαρμόσουμε στους μονοδιάστατους πίνακες.
Παρακάτω θα μελετήσουμε ορισμένες βασικές λειτουργίες - μεθοδολογίες που μπορούμε να εφαρμόσουμε στους μονοδιάστατους πίνακες.
Βασικές Μεθοδολογίες σε μονοδιάστατους πίνακες
Μεθοδολογία 1η
Καταχώρηση στοιχείων σε πίνακα - "Γέμισμα" του πίνακα
Γενική μορφή :
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Ν
ΓΡΑΨΕ ‘ δώσε το ΄, i ,’ ο στοιχείο’ ! Αν θέλουμε να έχει και μήνυμα εξόδου
ΔΙΑΒΑΣΕ Α[ i ]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
Όπου Ν οι θέσεις του πίνακα και Α ο πίνακας.
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Ν
ΓΡΑΨΕ ‘ δώσε το ΄, i ,’ ο στοιχείο’ ! Αν θέλουμε να έχει και μήνυμα εξόδου
ΔΙΑΒΑΣΕ Α[ i ]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
Όπου Ν οι θέσεις του πίνακα και Α ο πίνακας.
Παράδειγμα 1
Να γεμισθεί πίνακας Α[100], με ονόματα τα οποία θα πληκτρολογεί ο χρήστης .
Λύση:
ΠΡΟΓΡΑΜΜΑ ΠΑΡ_1
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: i
ΧΑΡΑΚΤΗΡΕΣ: Α[100]
ΑΡΧΗ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 100
ΓΡΑΨΕ ‘ δώσε το ΄, i ,’ ο όνομα’
ΔΙΑΒΑΣΕ Α[ i ]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
Να γεμισθεί πίνακας Α[100], με ονόματα τα οποία θα πληκτρολογεί ο χρήστης .
Λύση:
ΠΡΟΓΡΑΜΜΑ ΠΑΡ_1
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: i
ΧΑΡΑΚΤΗΡΕΣ: Α[100]
ΑΡΧΗ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 100
ΓΡΑΨΕ ‘ δώσε το ΄, i ,’ ο όνομα’
ΔΙΑΒΑΣΕ Α[ i ]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
Μεθοδολογία 2η
Εύρεση Αθροίσματος των στοιχείων ενός μονοδιάστατου πίνακα
Γενική μορφή:
Σ<-- 0
Για i από 1 μέχρι Ν
Σ<-- Σ + Α[ i ]
Τέλος_επανάληψης
Όπου Ν οι θέσεις του πίνακα και Α ο πίνακας.
Σ<-- 0
Για i από 1 μέχρι Ν
Σ<-- Σ + Α[ i ]
Τέλος_επανάληψης
Όπου Ν οι θέσεις του πίνακα και Α ο πίνακας.
Παράδειγμα 2
Να πραγματοποιηθεί πρόγραμμα το οποίο θα γεμίζει ένα πίνακα 100 θέσεων με ακέραιους αριθμούς και θα υπολογίζει το άθροισμά τους.
ΠΡΟΓΡΑΜΜΑ ΠΑΡ_2
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ:Σ,i,Α[100]
ΑΡΧΗ
Σ<--0
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 100
ΓΡΑΨΕ ‘ δώσε τον ΄, i ,’ ο αριθμό’
ΔΙΑΒΑΣΕ Α[ i ]
Σ<--Σ + Α [ i ]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ‘ το άθροισμα είναι: ‘, Σ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
Να πραγματοποιηθεί πρόγραμμα το οποίο θα γεμίζει ένα πίνακα 100 θέσεων με ακέραιους αριθμούς και θα υπολογίζει το άθροισμά τους.
ΠΡΟΓΡΑΜΜΑ ΠΑΡ_2
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ:Σ,i,Α[100]
ΑΡΧΗ
Σ<--0
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 100
ΓΡΑΨΕ ‘ δώσε τον ΄, i ,’ ο αριθμό’
ΔΙΑΒΑΣΕ Α[ i ]
Σ<--Σ + Α [ i ]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ‘ το άθροισμα είναι: ‘, Σ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
Μεθοδολογία 3η
Έυρεση Μέσου όρου των στοιχείων ενός μονοδιάστατου πίνακα
Γενική Μορφή :
Σ<-- 0
Για i από 1 μέχρι Ν
Σ<-- Σ + Α[ i ]
Τέλος_επανάληψης
Μ<--Σ/Ν
Όπου Ν οι θέσεις του πίνακα και Α ο πίνακας.
Παράδειγμα 3
Να πραγματοποιηθεί πρόγραμμα το οποίο θα δέχεται τους βαθμούς 17 μαθητών μιας τάξης , στο μάθημα των μαθηματικών και θα υπολογίζει το μέσο όρο της τάξης.
Λύση :
ΠΡΟΓΡΑΜΜΑ ΠΑΡ_3
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ:i, Α[17],Σ
ΠΡΑΓΜΑΤΙΚΕΣ:Μ ΑΡΧΗ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 17
ΓΡΑΨΕ ‘ δώσε το ΄, i , ‘ ο βαθμό’
ΔΙΑΒΑΣΕ Α[i]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
Σ<--0
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 17
Σ<-- Σ+ Α[i]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
Μ<--Σ/17
ΓΡΑΨΕ ‘ ο μέσος όρος είναι: ‘, Μ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
Σ<-- 0
Για i από 1 μέχρι Ν
Σ<-- Σ + Α[ i ]
Τέλος_επανάληψης
Μ<--Σ/Ν
Όπου Ν οι θέσεις του πίνακα και Α ο πίνακας.
Παράδειγμα 3
Να πραγματοποιηθεί πρόγραμμα το οποίο θα δέχεται τους βαθμούς 17 μαθητών μιας τάξης , στο μάθημα των μαθηματικών και θα υπολογίζει το μέσο όρο της τάξης.
Λύση :
ΠΡΟΓΡΑΜΜΑ ΠΑΡ_3
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ:i, Α[17],Σ
ΠΡΑΓΜΑΤΙΚΕΣ:Μ ΑΡΧΗ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 17
ΓΡΑΨΕ ‘ δώσε το ΄, i , ‘ ο βαθμό’
ΔΙΑΒΑΣΕ Α[i]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
Σ<--0
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 17
Σ<-- Σ+ Α[i]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
Μ<--Σ/17
ΓΡΑΨΕ ‘ ο μέσος όρος είναι: ‘, Μ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
Μεθοδολογία 4η
Εύρεση Πλήθους σε μονοδιάστατο πίνακα
Τη συγκεκριμένη μεθοδολογία θα τη δούμε απ'ευθείας με ένα παράδειγμα.
Παράδειγμα 4
Να πραγματοποιηθεί πρόγραμμα το οποίο θα «γεμίζει» ένα πίνακα με 400 ακέραιους αριθμούς και θα υπολογίζει πόσοι από αυτούς τους αριθμούς είναι πολλαπλάσια του 8.
Λύση
ΠΡΟΓΡΑΜΜΑ ΠΑΡ_4
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: i,Α[400],Π
ΑΡΧΗ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 400
ΓΡΑΨΕ ‘δώσε το ΄, i ,’ ο αριθμό’
ΔΙΑΒΑΣΕ Α[i]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
Π<--0
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 400
ΑΝ Α[i] mod 8 = 0 ΤΟΤΕ
Π<--Π+1
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ ‘ το πλήθος των πολ/σίων του 8 είναι:’, Π
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
Παράδειγμα 4
Να πραγματοποιηθεί πρόγραμμα το οποίο θα «γεμίζει» ένα πίνακα με 400 ακέραιους αριθμούς και θα υπολογίζει πόσοι από αυτούς τους αριθμούς είναι πολλαπλάσια του 8.
Λύση
ΠΡΟΓΡΑΜΜΑ ΠΑΡ_4
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: i,Α[400],Π
ΑΡΧΗ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 400
ΓΡΑΨΕ ‘δώσε το ΄, i ,’ ο αριθμό’
ΔΙΑΒΑΣΕ Α[i]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
Π<--0
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 400
ΑΝ Α[i] mod 8 = 0 ΤΟΤΕ
Π<--Π+1
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ ‘ το πλήθος των πολ/σίων του 8 είναι:’, Π
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
Μεθοδολογία 5η
Εύρεση Μέγιστου ή Ελάχιστου στοιχείου σε μονοδιάστατο πίνακα
Γενική μορφή:
Εύρεση Μέγιστου Στοιχείου :
max<--A[ 1 ]
Για i από 1 μέχρι Ν
Αν Α[i] > max τοτε
max <-- A[ i ]
Τέλος_αν
Τέλος_επανάληψης
------------------------------------------------------------------------
Εύρεση Ελάχιστου Στοιχείου:
min <-- A[ 1 ]
για i από 1 μέχρι Ν
αν Α[ i ] < min τότε
min <-- A[ i ]
τέλος_αν
τέλος_επανάληψης
Εύρεση Μέγιστου Στοιχείου :
max<--A[ 1 ]
Για i από 1 μέχρι Ν
Αν Α[i] > max τοτε
max <-- A[ i ]
Τέλος_αν
Τέλος_επανάληψης
------------------------------------------------------------------------
Εύρεση Ελάχιστου Στοιχείου:
min <-- A[ 1 ]
για i από 1 μέχρι Ν
αν Α[ i ] < min τότε
min <-- A[ i ]
τέλος_αν
τέλος_επανάληψης
Παράδειγμα 5
Να πραγματοποιηθεί πρόγραμμα το οποίο θα δέχεται 800 ακέραιους αριθμούς, σε ένα μονοδιάστατο πίνακα και θα εμφανίζει το μικρότερο από αυτούς.
Λύση :
ΠΡΟΓΡΑΜΜΑ ΠΑΡ_5
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ:i, Α[800],min
ΑΡΧΗ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 800
ΓΡΑΨΕ ‘δώσε τον’, i ,’ο αριθμό’
ΔΙΑΒΑΣΕ A[ i ]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
min <--A[ 1]
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 800
ΑΝ Α[ i ] < min ΤΟΤΕ
min <-- A[ i ]
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ ‘ ο μικρότερος είναι ο: ‘, min
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
Να πραγματοποιηθεί πρόγραμμα το οποίο θα δέχεται 800 ακέραιους αριθμούς, σε ένα μονοδιάστατο πίνακα και θα εμφανίζει το μικρότερο από αυτούς.
Λύση :
ΠΡΟΓΡΑΜΜΑ ΠΑΡ_5
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ:i, Α[800],min
ΑΡΧΗ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 800
ΓΡΑΨΕ ‘δώσε τον’, i ,’ο αριθμό’
ΔΙΑΒΑΣΕ A[ i ]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
min <--A[ 1]
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 800
ΑΝ Α[ i ] < min ΤΟΤΕ
min <-- A[ i ]
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ ‘ ο μικρότερος είναι ο: ‘, min
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
Μεθοδολογία 6η
Σειριακή Αναζήτηση στοιχείου σε μονοδιάστατο πίνακα
Αλγόριθμος Σειριακή_βιβλίου
Διάβασε n, key
Για i από 1 μέχρι n
Διάβασε Α[i]
Τέλος_επανάληψης
i <-- 1
pos <-- 0
D <-- ψευδής
Όσο (D = ψευδής) και (i <= n) επανάλαβε
Αν Α[i]=key τότε
D <-- αληθής
pos <-- i
Αλλιώς
i <-- i + 1
Τέλος_αν
Τέλος_επανάληψης
Εμφάνισε D, pos
Τέλος Σειριακή_βιβλίου
Διάβασε n, key
Για i από 1 μέχρι n
Διάβασε Α[i]
Τέλος_επανάληψης
i <-- 1
pos <-- 0
D <-- ψευδής
Όσο (D = ψευδής) και (i <= n) επανάλαβε
Αν Α[i]=key τότε
D <-- αληθής
pos <-- i
Αλλιώς
i <-- i + 1
Τέλος_αν
Τέλος_επανάληψης
Εμφάνισε D, pos
Τέλος Σειριακή_βιβλίου
Παράδειγμα 6
Να γίνει πρόγραμμα το οποίο :
α. Θα γεμίζει ένα πίνακα με τα ονόματα 100 μαθητών και ένα με τους βαθμούς τους στο μάθημα της ανάπτυξης εφαρμογών σε προγραμματιστικό περιβάλλον.
β.Θα ζητά από το χρήστη ένα όνομα το οποίο θα αναζητά στον πίνακα και
γ.αν υπάρχει το όνομα θα εμφανίζει το βαθμό του μαθητή διαφορετικά θα εμφανίζει κατάλληλο μήνυμα
Λύση
ΠΡΟΓΡΑΜΜΑ ΠΑΡΑΔΕΙΓΜΑ_6
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ:Ι,POS
ΠΡΑΓΜΑΤΙΚΕΣ: Β[100]
ΧΑΡΑΚΤΗΡΕΣ: ΟΝ[100],ΚΕΥ
ΛΟΓΙΚΕΣ: D
ΑΡΧΗ
ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 100
ΓΡΑΨΕ 'ΔΩΣΕ ΤΟ',Ι,'ο ΟΝΟΜΑ ΚΑΙ ΒΑΘΜΟ'
ΔΙΑΒΑΣΕ ΟΝ[Ι],Β[Ι]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ'ΔΩΣΕ ΤΟ ΥΠΟ ΑΝΑΝHΖΗΤΗΣΗ ΟΝΟΜΑ'
ΔΙΑΒΑΣΕ ΚΕΥ
Ι<--1
POS<--0
D<--ΨΕΥΔΗΣ
ΟΣΟ Δ=ΨΕΥΔΗΣ ΚΑΙ Ι<=100 ΕΠΑΝΑΛΑΒΕ
ΑΝ ΟΝ[Ι]=ΚΕΥ ΤΟΤΕ
D<--ΑΛΗΘΗΣ
POS<--I
ΑΛΛΙΩΣ
Ι<--Ι+1
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΑΝ D=ΑΛΗΘΗΣ ΤΟΤΕ
ΓΡΑΨΕ'Ο ΒΑΘΜΟΣ ΕΙΝΑΙ:',Β[POS]
ΑΛΛΙΩΣ
ΓΡΑΨΕ'ΔΕΝ ΒΡΕΘΗΚΕ ΤΟ ΥΠΟ ΑΝΑΖΗΤΗΣΗ ΟΝΟΜΑ'
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
Μεθοδολογία 7η
Δυαδική Αναζήτηση
Γενική Μορφή :
Η δυαδική αναζήτηση είναι ένας άλλος τρόπος αναζήτησης ο οποίος είναι πιο αποδοτικός σε σύγκριση με τη σειριακή αναζήτηση. Αυτό που πρέπει όμως να έχουμε υπ όψιν μας είναι ότι χρησιμοποιείται μόνο σε ταξινομημένους πίνακες.
Ο αλγόριθμος της δυαδικής αναζήτησης για ένα ταξινομημένο πίνακα όπου αναζητάμε το στοιχείο KEY ,έχει ως εξής :
Α<--1
Β<--Ν
D<--ΨΕΥΔΗΣ
ΟΣΟ Α<=Β ΚΑΙ D=ΨΕΥΔΗΣ ΕΠΑΝΑΛΑΒΕ
Μ<--(Α+Β) DIV 2
AN Α[M]=KEY TOTE
D=ΑΛΗΘΗΣ
ΑΛΛΙΩΣ_ΑΝ
Α[Μ]<ΚΕΥ ΤΟΤΕ
Α<--Μ+1
ΑΛΛΙΩΣ
Β<--Μ-1
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΑΝ D = ΑΛΗΘΗΣ ΤΟΤΕ
ΓΡΑΨΕ 'ΒΡΕΘΗΚΕ ΤΟ ΣΤΟΙΧΕΙΟ ΣΤΗ ΘΕΣΗ',M
ΑΛΛΙΩΣ
ΓΡΑΨΕ'ΔΕΝ ΒΡΕΘΗΚΕ ΤΟ ΣΤΟΙΧΕΙΟ'
ΤΕΛΟΣ_ΑΝ
Η δυαδική αναζήτηση είναι ένας άλλος τρόπος αναζήτησης ο οποίος είναι πιο αποδοτικός σε σύγκριση με τη σειριακή αναζήτηση. Αυτό που πρέπει όμως να έχουμε υπ όψιν μας είναι ότι χρησιμοποιείται μόνο σε ταξινομημένους πίνακες.
Ο αλγόριθμος της δυαδικής αναζήτησης για ένα ταξινομημένο πίνακα όπου αναζητάμε το στοιχείο KEY ,έχει ως εξής :
Α<--1
Β<--Ν
D<--ΨΕΥΔΗΣ
ΟΣΟ Α<=Β ΚΑΙ D=ΨΕΥΔΗΣ ΕΠΑΝΑΛΑΒΕ
Μ<--(Α+Β) DIV 2
AN Α[M]=KEY TOTE
D=ΑΛΗΘΗΣ
ΑΛΛΙΩΣ_ΑΝ
Α[Μ]<ΚΕΥ ΤΟΤΕ
Α<--Μ+1
ΑΛΛΙΩΣ
Β<--Μ-1
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΑΝ D = ΑΛΗΘΗΣ ΤΟΤΕ
ΓΡΑΨΕ 'ΒΡΕΘΗΚΕ ΤΟ ΣΤΟΙΧΕΙΟ ΣΤΗ ΘΕΣΗ',M
ΑΛΛΙΩΣ
ΓΡΑΨΕ'ΔΕΝ ΒΡΕΘΗΚΕ ΤΟ ΣΤΟΙΧΕΙΟ'
ΤΕΛΟΣ_ΑΝ
Ποια είναι η πιο αποδοτική μέθοδος αναζήτησης;
|
Μεθοδολογία 8η
Ταξινόμηση στοιχείων του πίνακα
Α' Τρόπος - Με τη μέθοδο της φυσαλίδας
Η ταξινόμηση είναι η λειτουργία εκείνη η οποία μας επιτρέπει την αναδιάταξη των στοιχείων του πίνακα. Αυτό σημαίνει ότι αν εφαρμόσουμε σε ένα πίνακα μια μέθοδο ταξινόμησης , τα στοιχεία του θα τοποθετηθούν από το μικρότερο προς το μεγαλύτερο ( αν η ταξινόμηση γίνει κατά αύξουσα σειρά ) ή από το μεγαλύτερο προς το μικρότερο (αν τα στοιχεία ταξινομηθούν κατά φθίνουσα σειρά).
Υπάρχουν διάφοροι αλγόριθμοι ταξινόμησης. Ο πρώτος που θα εξετάσουμε είναι αυτός της ταξινόμησης με τη μέθοδο της φυσαλίδας. Αυτός είναι ίσως ο πιο απλός τρόπος ταξινόμησης αλλά και ο λιγότερο αποδοτικός. Ας δούμε πως λειτουργεί:
Γενική Μορφή:
Για Ι από 2 μέχρι Ν
Για J από Ν μέχρι Ι με_βήμα –1
Αν Α[J] < A[J-1] τότε
TEMP<-- A[J]
A[J] <-- A [J-1]
A[J-1]<--TEMP
Τέλος_αν
Τέλος_επανάληψης
Τέλος_επανάληψης
* Όπου Ν = οι θέσεις του πίνακα και Α ο πίνακας.
Θα ακολουθήσει ανάλυση της λειτουργίας της φυσαλίδας
Υπάρχουν διάφοροι αλγόριθμοι ταξινόμησης. Ο πρώτος που θα εξετάσουμε είναι αυτός της ταξινόμησης με τη μέθοδο της φυσαλίδας. Αυτός είναι ίσως ο πιο απλός τρόπος ταξινόμησης αλλά και ο λιγότερο αποδοτικός. Ας δούμε πως λειτουργεί:
Γενική Μορφή:
Για Ι από 2 μέχρι Ν
Για J από Ν μέχρι Ι με_βήμα –1
Αν Α[J] < A[J-1] τότε
TEMP<-- A[J]
A[J] <-- A [J-1]
A[J-1]<--TEMP
Τέλος_αν
Τέλος_επανάληψης
Τέλος_επανάληψης
* Όπου Ν = οι θέσεις του πίνακα και Α ο πίνακας.
Θα ακολουθήσει ανάλυση της λειτουργίας της φυσαλίδας
Παράδειγμα 8
Να πραγματοποιηθεί πρόγραμμα το οποίο θα «γεμίζει» ένα πίνακα 100 θέσεων με ακέραιους αριθμούς που θα δέχεται από το πληκτρολόγιο και έπειτα θα ταξινομεί τον πίνακα κατά φθίνουσα σειρά. Τέλος θα εμφανίζει τα στοιχεία του πίνακα μετά την ταξινόμηση.
ΠΡΟΓΡΑΜΜΑ ΠΑΡ_22
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ:i ,j, Α[100],TEMP
ΑΡΧΗ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 100
ΓΡΑΨΕ ΄ Δώσε έναν αριθμό ΄
ΔΙΑΒΑΣΕ Α[i]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ 100
ΓΙΑ j ΑΠΟ 100 ΜΕΧΡΙ i ΜΕ_ΒΗΜΑ –1
ΑΝ Α[j] > A[j-1] ΤΟΤΕ ! Προσέξτε τη φορά της ανισότητας, αυτή καθορίζει το αν θα είναι φθίνουσα ή αύξουσα η ταξινόμηση.
TΕΜP<-- A[ j]
A[j] <-- A[j-1]
A[j-1] <-- TEMP
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 100
ΓΡΑΨΕ Α[ i ]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
Να πραγματοποιηθεί πρόγραμμα το οποίο θα «γεμίζει» ένα πίνακα 100 θέσεων με ακέραιους αριθμούς που θα δέχεται από το πληκτρολόγιο και έπειτα θα ταξινομεί τον πίνακα κατά φθίνουσα σειρά. Τέλος θα εμφανίζει τα στοιχεία του πίνακα μετά την ταξινόμηση.
ΠΡΟΓΡΑΜΜΑ ΠΑΡ_22
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ:i ,j, Α[100],TEMP
ΑΡΧΗ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 100
ΓΡΑΨΕ ΄ Δώσε έναν αριθμό ΄
ΔΙΑΒΑΣΕ Α[i]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ 100
ΓΙΑ j ΑΠΟ 100 ΜΕΧΡΙ i ΜΕ_ΒΗΜΑ –1
ΑΝ Α[j] > A[j-1] ΤΟΤΕ ! Προσέξτε τη φορά της ανισότητας, αυτή καθορίζει το αν θα είναι φθίνουσα ή αύξουσα η ταξινόμηση.
TΕΜP<-- A[ j]
A[j] <-- A[j-1]
A[j-1] <-- TEMP
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 100
ΓΡΑΨΕ Α[ i ]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ