Katedra Informatyki Stosowanej PŁ
dr inż. Anna Fabijańska
Podstawy Programowania
Laboratorium 8
Struktury, Lista wiązana - dwukierunkowa
Zadanie 1:
Zdefiniować strukturę
student
. Struktura powinna umożliwić przechowanie
następujących informacji:
• imię;
• nazwisko;
• numer indeksu;
• kierunek studiów;
• wydział;
• rok studiów.
Napisać funkcje umożliwiające:
• wypełnienie wszystkich pól struktury (jednocześnie);
• wypełnienie poszczególnych pól struktury (pojedynczo);
• wydrukowanie wartości wszystkich pól struktury;
• wydrukowanie wartości poszczególnych pól struktury.
Zadanie 2:
W oparciu o struktury zaimplementować listę wiązaną dwukierunkową. Lista
powinna składać się z elementów powiązanych ze sobą wskaźnikami, przy czy
każdy z elementów powinien posiadać:
• całkowitą wartość liczbową;
• wskaźnik do elementu poprzedzającego;
• wskaźnik do elementu następującego.
Rys.1. Poglądowy schemat listy wiązanej dwukierunkowej.
W programie powinny się znaleźć następujące funkcje:
•
push_front()
– dodaje element na koniec listy;
•
pop_front()
– usuwa element z końca listy;
•
push_back()
– usuwa element z początku listy;
•
pop_back()
– usuwa element z końca listy;
•
insert()
– wstawia element na pozycję przekazaną jako argument
funkcji;
Katedra Informatyki Stosowanej PŁ
dr inż. Anna Fabijańska
•
remove()
–usuwa element znajdujący się na pozycji przekazanej jako
argument funkcji;
•
clear()
– usuwa wszystkie elementy z listy;
•
print()
– drukuje zawartość listy;
•
size()
– zwraca liczbę elementów listy;
•
isEmpty()
– zwraca „prawdę”, gdy lista jest pusta oraz „fałsz” gdy na
liście znajdują się jakieś elementy;
•
begin()
– zwraca wskaźnik do początku listy;
•
end()
– zwraca wskaźnik do końca listy;
•
front()
– zwraca wartość pierwszego elementu listy;
•
back()
– zwraca wartość ostatniego elementu listy;
•
at()
– zwraca wartość elementu listy o indeksie przekazanym jako
argument funkcji;
•
print_forward()
– drukuje zawartość listy od początku;
•
print_backward()
– drukuje zawartość listy od końca.