PRG2 - Temat 11
C-struktury
Zadanie 32 (5p)
Zaprojektować 2 struktury: Book - opisującą
książki
i
List - reprezentującą półkę - jednokierunkową listę
książek.
Polami identyfikującymi książkę są sygnatura, tytuł, imię i nazwisko
autorów
oraz wskaźnik do następnej książki na półce, zaś półka jest
identyfikowana
przez wskaźnik do swojej pierwszej książki oraz ilość książek na pólce.
Zrealizować następujące polecenia, o przykładowych sygnaturach:
a. List* list()
- utworzy pustą listę, Book* book(int sygn, char* author, char*
title, Book* next) - utworzy nową ksiązkę z składowymi podanymi
jako parametry,
b. List*
push(List* s, Book* b) - dodaje książkę b
(jeśli jej nie było wcześniej) na początek listy s
i zwraca zmodyfikowaną s,
c. List* inject(List*
s, Book* b) - dodaje książkę b (jeśli jej
nie było wcześniej) na
koniec listy s i zwraca zmodyfikowaną s,
d. List* insert(List*
s, Book* b, int pos) - dodaje do listy s książkę b (jeśli
jej nie
było wcześniej) na pozycji pos
(licząc od 0) i zwraca zmodyfikowaną s,
e. List* del(List* s,
int pos) - usuwa z listy s
książkę na pozycji pos i zwraca zmodyfikowaną s,
f. List* rem(List*
s, int n) - usuwa z listy s
książkę o sygnaturze n i zwraca zmodyfikowaną s,
g. Book* locate(List*
s, int n) - zwraca wskaźnik do książki
o sygnaturze n z listy s, lub NULL,
jeśli takiej książki nie ma na liście,
h. Book*
retrieve(List* s, int pos) - zwraca wskaźnik do
książki z listy s na pozycji pos
(licząc
od 0), lub NULL, jeśli takiej książki nie ma na liście,
i. void
printBook(Book* b) - wypisuje informacje o książce b,
j. void printLR(List*
s) - wypisuje informacje o wszystkich
książkach z listy s, w kolejności od lewej do prawej,
k. void
printRL(List* s) - wypisuje informacje o wszystkich
książkach z listy s w kolejności od prawej do lewej.
Napisać funkcję główną do testowania działania w/w funkcji.
Wyszukiwarka
Podobne podstrony:
temat15TEMAT117Temat12TEMAT121wynik2 temat1 GLONASSTemat11temat1 110821101246TEMAT106TEMAT115TEMAT18TEMAT111temat13temat12TEMAT114Temat15 rozwiazaniatemat12TEMAT108TEMAT125więcej podobnych podstron