Metody Programowania - Lista 3


W zadaniach zakładamy że listy są zadane (reprezentowane poprzez wskaźnik do pierwszego elementu, zaś ostatni element ma zerowy wskaźnik do następnego). Listy są jednokierunkowe, chyba że napisano inaczej.

Zadanie 1

Zadeklarować strukturę, odpowiednią jako typ węzła dla:

Zadanie 2

Napisać funkcję, która mając daną listę liczb całkowitych znajdzie maksymalny element (albo obliczy sumę elementów).

Zadanie 3

Zakładamy że elementy list mają całkowite pole 'licznik'. Dla dwu zadanych list (równej długości) stworzyć nową listę, której pola 'licznik' są sumami pól 'licznik' z list wejściowych (n-ty element wyniku zawiera sumę z n-tych elementów obu list wejściowych).

Zadanie 4

Zakładamy że elementy listy mają całkowite pola 'klucz' i 'licznik'. Powiększyć pole 'licznik' o 1 dla tych elementów listy które mają zadaną wartość klucza.

Zadanie 5

Napisać funkcję, która mając daną listę liczb całkowitych i liczbę, usunie pierwsze (albo każde) wystąpienie tej liczby na liście.

Zadanie 6

Napisać funkcję, która mając daną listę, (taką jak któraś z list z zadania 1) i wskaźnik do elementu na liście znajdzie poprzedni element.

Zadanie 7

Rozdzielić zadaną listę na dwie,

Zadanie 8

Napisać funkcję, która odwróci daną listę dwukierunkową (tzn. zmieni wskaźniki tak by elementy były w odwrotnej kolejności).

Zadanie 9

Napisać funkcję:

Jak można użyć takie funkcje do sprawdzenia czy funkcje z poprzednch zadań działają poprawnie.