Professional Documents
Culture Documents
Zaj Lab 2
Zaj Lab 2
Zadanie 2.1
Wykorzystując koncepcję klas napisać program implementujący
nieuporządkowaną listę jednokierunkową, każdy węzeł której zawiera liczbę
całkowitą oraz wskaźnik na następny element.
Dla potrzeb programu wykorzystać i uzupełnić definicje dwóch klas: IntNode
oraz IntList (zdefiniowanych na kolejnych slajdach).
Zilustrować działanie zdefiniowanych klas w bloku main programu.
Programowanie obiektowe 1
Obiektowa lista jednokierunkowa
class IntNode {
public:
int info;
class IntNode *next;
IntNode(int el, IntNode *ptr=0) {
info=el;
next=ptr;
}
};
Programowanie obiektowe 2
Obiektowa lista jednokierunkowa
class IntList {
private:
IntNode *head, *tail; // wskaźniki na pierwszy i ostatni element listy
public:
IntList() { head=tail=0; }
~IntList();
int isEmpty() { return head == 0; } //sprawdza, czy lista jest pusta
void addToHead(int); //dodaje element na początek listy
void addToTail(int); // dodaje element na koniec listy
int deleteFromHead(); //usuwa i zwraca pierwszy element listy
int deleteFromTail(); //usuwa i zwraca ostatni element listy
void deleteNode(int); // usuwa element o podanej wartości
bool isInList(int); // sprawdza, czy element jest na liście
void printAll(); // wyświetla wszystkie elementy listy
};
Programowanie obiektowe 3