Δομή Δεδομένων
Δομή Δεδομένων είναι ένα σύνολο αποθηκευμένων δεδομένων που υφίσταται επεξεργασία από ένα σύνολο λειτουργιών. Προσπέλαση: Πρόσβαση σε έναν κόμβο (κελί του πίνακα) με σκοπό να εξετασθεί ή τροποποιηθεί το περιεχόμενό του. Εισαγωγή : Προσθήκη νέων κόμβων σε μια υπάρχουσα δομή δεδομένων. Ο πίνακας είναι στατική δομή δεδομένων και δεν υφίσταται η έννοια εισαγωγής νέου κόμβου. Διαγραφή: το αντίστροφο της εισαγωγής, δηλαδή αφαίρεση ενός κόμβου από μια δομή. Αντιγραφή: Όλοι ή μερικοί κόμβοι μιας δομής αντιγράφονται σε μία άλλη Διαχωρισμός : αντίθετη διαδικασία από τη συγχώνευση. Συγχώνευση: Δύο ή περισσότερες δομές συνενώνονται σε μια ενιαία δομή . Παρατηρήσεις: - Η εντολή αντιμετάθεσε ορίζεται στην ψευδογλώσσα και μπορούμε να τη χρησιμοποιήσουμε σε αλγορίθμους αλλά καλό να την αποφεύγουμε καθώς δεν ορίζεται στη ΓΛΩΣΣΑ και δεν μπορούμε να τη χρησιμοποιήσουμε σε προγράμματα - Η διάταξη της ταξινόμησης είναι αύξουσα . Για φθίνουσα ταξινόμηση, αρκεί να αντιστραφεί η φορά της συνθήκης της δομής επιλογής Αν - Ο πίνακας table είναι μονοδιάστατος ?Β Ταξινόμηση Ο αλγόριθμος ταξινόμησης ευθείας ανταλλαγής όπως παρουσιάζεται στο βιβλίο έχει ως εξής: Αλγόριθμος Φυσσαλίδα Β
Οι λειτουργίες επί των δομών είναι:
Β Β Δεδομένα // n, table //
Β Β Για i από 2 μέχρι n
Β Β Β Β Για j από n μέχρι i με_βήμα ?1
Β Β Β Β Β Β Β Β Αν table[j - 1] > table[j] τότεΒ Β Β ! αύξουσα ταξινόμηση
Β Β Β Β Β Β Β Β Β Β Β Β temp ← table[j - 1]
Β Β Β Β Β Β Β Β Β Β Β Β table[j - 1] ← table[j]
Β Β Β Β Β Β Β Β Β Β Β Β table[j] ← temp
Β Β Β Β Β Β Β Β Τέλος_αν
Β Β Β Β Τέλος_επανάληψης
Β Β Τέλος_επανάληψης
Β Β Αποτελέσματα // table //
Τέλος Φυσσαλίδα