Πίνακες Μονοδιάσταστοι

Print
Category: Uncategorised
Published on 14 March 2012
Written by Super User Hits: 2514

Μονοδιάστατοι Πίνακες

Τι είναι ο πίνακας γενικά :

Πίνακας είναι μια Στατική Δομή Δεδομένων. Δηλαδή συνεχόμενες θέσεις μνήμης, όπου το πλήθος των θέσεων είναι συγκεκριμένο. Στις θέσεις αυτές καταχωρούμε – αποθηκεύουμε τιμές μεταβλητών - δεδομένων ώστε να παραμένουν στη μνήμη για περαιτέρω επεξεργασία και διαχείριση.

Πιο αναλυτικά θα μπορούσε  να δοθεί σαν ορισμός το παρακάτω :

Πίνακας είναι ένα σύνολο από καθορισμένο πλήθος θέσεων μνήμης, που κάθε μια δέχεται μια τιμή (όπως οι κοινές μεταβλητές), προσδιορίζονται όλες ενιαία από ένα κοινό όνομα, τον ίδιο τύπο δεδομένων (Ακέραιοι, Πραγματικοί, Χαρακτήρες, Λογικοί) και ένα δείκτη που υποδεικνύει την θέση της κάθε τιμής στον πίνακα.

Συμβολισμός :

Στις εκφωνήσεις ένας πίνακας π.χ. 10 θέσεων συμβολίζεται Α(10).

Στη δήλωση μεταβλητών ενός προγράμματος συμβολίζεται Α[1..10].

Στο λογισμικό ‘Διερμηνευτή Γλώσσας’ στη δήλωση μεταβλητών συμβολίζεται Α[10]     

Έστω ένας πίνακας με όνομα Α δέκα θέσεων - πατήστε ΕΔΩ

Για να γεμίζουμε – διαβάσουμε, για να εμφανίσουμε και επεξεργαστούμε τιμές σε ένα πίνακα πρέπει να χρησιμοποιήσουμε μια επαναληπτική δομή. Επειδή είναι πάντα γνωστός ο αριθμός των θέσεων (κόμβων) – στοιχείων του, συνήθως επιλέγουμε την δομή ΓΙΑ. Ωστόσο η όποια διαδικασία υλοποιείται και τις άλλες δύο δομές επανάληψης ΟΣΟ και ΜΕΧΡΙΣ_ΟΤΟΥ.

Σε κάθε δομή δεδομένων και άρα σε έναν πίνακα τα στοιχεία υφίστανται επεξεργασία από ένα σύνολο λειτουργιών – πράξεων, όπου οι βασικές είναι εξής :

  1. Προσπέλαση
  2. Αναζήτηση (έχουμε 2 τύπους αναζήτησης)
  3. Αντιγραφή
  4. Συγχώνευση
  5. Διαχωρισμός
  6. Ταξινόμηση
  7. Εισαγωγή
  8. Διαγραφή

Οι έξι πρώτες εφαρμόζονται και στους δύο τύπους δομών δεδομένων, δηλαδή στις Στατικές και Δυναμικές.

Οι δύο τελευταίες εφαρμόζονται μόνο στις Δυναμικές δομές (Στοίβα και Ουρά).

Από τις έξι πρώρες θα αναλύσουμε κάθε μια λειτουργία - πράξη για τους πίνακες με τη άνωθεν σειρά. Επί της ουσίας δίνονται οι αλγόριθμοι που εκφράζουν τις λειτουργίες αυτές. Οπότε αν κάποιος καταλάβει και γνωρίζει τις βασικές αυτές λειτουργίες μπορεί να τις συνδυάσει και να λύσει τα προβλήματα που επιλύονται με τη χρήση πινάκων.

Πρώτα όμως πρέπει να απαντήσουμε στο ερώτημα :  Γιατί και πότε πρέπει να χρησιμοποιήσουμε πίνακα ; Η απάντηση είναι απλή : Όταν για να λυθεί το πρόβλημα απαιτείται η παραμονή κάποιων δεδομένων στη μνήμη του υπολογιστή. Αυτό γιατί, επειδή ο πίνακας δεσμεύει ένα κομμάτι μνήμης για τα δεδομένα, τα ‘κρατά’ καθ’ όλη τη διάρκεια εκτέλεσης του αλγορίθμου – προγράμματος, δίνοντάς μας έτσι τη δυνατότητα να τα επεξεργαστούμε – διαχειριστούμε όταν και όσες φορές θέλουμε.

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

Για Ι από 1 μέχρι 10

   Διάβασε Α[Ι]

Τέλος_Επανάληψης

Για Ι από 1 μέχρι 10

   Γράψε Α[Ι]

Τέλος_Επανάληψης

Για Ι από 1 μέχρι 10

   Διάβασε Α

Τέλος_Επανάληψης

   Γράψε Α

  Όλες οι τιμές – δεδομένα παρέμειναν στη μνήμη, αποθηκευμένες στις αντίστοιχες θέσεις και εμφανίζονται όλες.

Καμία τιμή – δεδομένο δεν παρέμεινε στη μνήμη, εκτός του τελευταίου που δόθηκε, οπότε αυτό μόνο εμφανίζεται.

 Για να δείτε ΑΝΑΛΥΤΙΚΑ τις έννοιες που σχετίζονται με τις λειτουργίες - πράξεις επί των πινάκων (ως στατικών δομών) πατήστε ΕΔΩ

 Για να υλοποιήσετε αλγορίθμους που απαιτούν τη χρήση πινάκων προσπαθήστε να επιλέξετε και να συνδιάσετε σωστά τις λειτουργίες - πράξεις που αναλύσαμε, αλλά και να δημιουργήσετε δικές σας. Για προβλήματα - ασκήσεις πατήστε ΕΔΩ. 

Οι ασκήσεις αυτές σχετίζονται με μονοδιάστατους και δισδιάστατους πίνακες. Για τους δισδιάστατους πίνακες γίνεται ανάλυση στην επόμενη ενότητα της σελίδας.

Ασκήσεις για Προχωρημένους ΕΔΩ.