Ασκήσεις

Άσκηση 3

  1. Να υλοποιηθεί σε C ο αφηρημένος τύπος της συνδεδεμένης λίστας χαρακτήρων σύμφωνα με τις παρακάτω συναρτήσεις:
    Ορισμός του τύπου της συνδεδεμένης λίστας χαρακτήρων
    Επιστρέφεται μια άδεια συνδεδεμένη λίστα
    char_list char_list_new(void);
    Επιστρέφεται μια συνδεδεμένη λίστα με το στοιχείο c στην αρχή της
    char_list char_list_add(char_list l, char c);
    Καλεί τη συνάρτηση process για κάθε στοιχείο της λίστας
    void char_list_traverse(char_list l, void (*process)(char c));
    Επιστρέφεται αληθές αν η λίστα είναι κενή
    int char_list_isempty(char_list l);
    Διαγράφει όλα τα στοιχεία της λίστας l
    void char_list_delete(char_list l);
  2. Με βάση τον αφηρημένο αυτό τύπο να υλοποιηθεί πρόγραμμα το οποίο να διαβάζει μια σειρά χαρακτήρων μέχρι να συναντήσει μια τελεία και στη συνέχεια να τυπώνει τους χαρακτήρες αυτούς με την αντίστροφη σειρά.
      Παράδειγμα:
      L
      I
      V
      E
      .
      E
      V
      I
      L