Μεθοδολογίες Προγραμματισμού (Εργαστήριο)

 

3n Εργασία

 

Να κατασκευαστεί πρότυπη τάξη LinkedList η οποία θα επεξεργάζεται μία απλά συνδεδεμένη λίστα. Ορίστε δύο δείκτες, ένα στην αρχή (κεφαλή) και ένα στο τέλος (ουρά) της λίστας. Κάθε κόμβος διαθέτει δύο στοιχεία: δεδομένα (ακέραιος, πραγματικός ή χαρακτήρας) και ένας δείκτη στον επόμενο κόμβο.

Δημιουργείστε τα αρχεία LinkedList.h,  LinkedList.cpp  και  main.cpp τα οποία θα περιέχουν τον ορισμό της τάξης, την υλοποίησή της (μέθοδοι) και το πρόγραμμα δοκιμής και επίδειξής της αντίστοιχα.

 

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

- Δομητής

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

- Addhead: Πρόσθεση κόμβου στην αρχή της λίστας

- Addtail: Πρόσθεση κόμβου στο τέλος της λίστας

- Removehead: Διαγραφή κόμβου από την αρχή της λίστας και επιστροφή της τιμής του πρώτου κόμβου

- Removetail: Διαγραφή κόμβου από τo τέλος της λίστας και επιστροφή της τιμής του τελευταίου κόμβου

- Head: Eπιστροφή της τιμής του πρώτου κόμβου

 

Χρησιμοποιείστε εξαίρεση για τον έλεγχο της σωστής δέσμευσης μνήμης με την “new”.

 

Να γραφεί πρόγραμμα το οποίο δημιουργεί κάποιες λίστες με τιμές διαφόρων τύπων (κάνοντας χρήση των μεθόδων εισαγωγής στην αρχή και στο τέλος της λίστας) τις οποίες εμφανίζει. Εφαρμόστε τις υπόλοιπες μεθόδους και εμφανίστε τα αποτελέσματα κάθε μιας.