lab2 .pdf

File information


Original filename: lab2.pdf
Author: wchocianowicz

This PDF 1.5 document has been generated by Microsoft® Word 2013, and has been sent on pdf-archive.com on 24/11/2017 at 16:52, from IP address 217.153.x.x. The current document download page has been viewed 267 times.
File size: 920 KB (2 pages).
Privacy: public file


Download original PDF file


lab2.pdf (PDF, 920 KB)


Share on social networks



Link to this file download page



Document preview


Rok akademicki 2017/18

Informatyka - S1 - semestr 3
Struktury danych i złożoność obliczeniowa

Laboratorium 2 – Dwukierunkowa lista cykliczna

Celem zadania jest implementacja słownika w postaci dynamicznej dwukierunkowej listy cyklicznej.
Implementacja nie może odwoływać się do typu tablicowego, lecz musi się posługiwać wskaźnikami
(referencjami do kolejnych węzłów listy).
Każdy z węzłów listy posiada następujące składowe:
 pole składowej kluczowej typu całkowitego (int);
 pole typu double;
 pole typu char;
 wskaźnik na węzeł będący następnikiem;
 wskaźnik na węzeł będący poprzednikiem.
Składowa kluczowa węzła będącego pierwszym węzłem listy (o ile lista nie jest pusta) jest najmniejszą
spośród składowych kluczowych wszystkich węzłów znajdujących się w liście, tzn. elementy listy są
zawsze uporządkowane rosnąco ze względu na wartość składowej kluczowej;
Klucze (składowe kluczowe) są unikalne w ramach listy.
Należy stworzyć funkcję realizujące:
1) wstawienie do listy nowego elementu (uwzględnić przypadek, w którym węzeł o zadanej
wartości składowej kluczowej już znajduje się w liście, należy wtedy zasygnalizować błąd);
funkcja ustawia pole typu double na losowe wartości, zaś pole typu char na wartość ‘T’;
2) wstawienie do listy X nowych elementów o wygenerowanych losowo i różnych wartościach
składowych kluczowych z zakresu 99 do 99999 (wartość X podana jako argument funkcji);
3) wyszukanie w liście elementu o podanej jako argument wartości składowej kluczowej (wraz z
obsługą przypadku, w którym element nie istnieje);
4) usunięcie z listy elementu o podanej jako argument wartości składowej kluczowej
(uwzględniające obsługę przypadku, w którym taki element nie istnieje);
5) prezentacja wartości składowych kluczowych pierwszych Y (wartość Y jest argumentem
funkcji prezentacji) węzłów znajdujących się w liście (począwszy od składowej kluczowej
węzła będącego czołem listy);
6) prezentacja wartości składowych kluczowych ostatnich Z (wartość Z jest argumentem funkcji
prezentacji) węzłów znajdujących się w liście (począwszy od składowej kluczowej węzła
będącego ogonem (ostatnim węzłem) listy);
7) wypisywanie liczby węzłów znajdujących się na liście (można utworzyć dodatkową zmienną
do przechowywania liczby elementów listy);
8) usuwanie wszystkich elementów listy;
Listę można zaimplementować strukturalnie (C) lub obiektowo (C++);
Na liście argumentów każdej z wymienionych funkcji mogą się pojawić wyłącznie:
o referencja (wskaźnik) do pierwszego węzła (czoła) listy (tylko w przypadku implementacji
strukturalnej);
o wartość składowej kluczowej - za wyjątkiem funkcji wstawiania X elementów, która zamiast
wartości składowej kluczowej zawiera liczbę elementów do wylosowania (w przypadku
implementacji strukturalnej i obiektowej) oraz funkcji prezentacji zawierających dodatkowo
liczbę elementów do wyświetlenia;
Wszystkie funkcje powinny obsługiwać błędy (np. funkcja prezentacji powinna wypisywać
odpowiedni komunikat, gdy lista jest pusta lub nie istnieje).

Program po uruchomieniu wczytuje plik wejściowy inlab02.txt.
Plik inlab02.txt zawiera w pierwszej linii kolejno liczbę elementów do wylosowania X, a
następnie wartości pięciu kluczy k1, k2, k3, k4, k5.
Następnie wywoływana jest sekwencja funkcji (dalej w funkcji main()):
 czas start;
 zainicjuj listę;
 wyszukanie klucza k1;
 wstawienie X elementów do listy;
 wypisz liczbę węzłów w liście;
 prezentacja wartości kluczowych pierwszych 20 węzłów począwszy od czoła listy;
 wstaw element o wartości klucza k2;
 prezentacja wartości kluczowych pierwszych 20 węzłów począwszy od czoła listy;
 wstaw element o wartości klucza k3;
 prezentacja wartości kluczowych pierwszych 20 węzłów począwszy od czoła listy;
 wstaw element o wartości klucza k4;
 prezentacja wartości kluczowych pierwszych 20 węzłów począwszy od czoła listy;
 wstaw element o wartości klucza k5;
 usuń element o wartości klucza k3;
 prezentacja wartości kluczowych pierwszych 20 węzłów począwszy od czoła listy;
 usuń element o wartości klucza k2;
 prezentacja wartości kluczowych pierwszych 20 węzłów począwszy od czoła listy;
 usuń element o wartości klucza k5;
 wypisz liczbę węzłów w liście;
 wyszukaj element o wartości klucza k5;
 prezentacja wartości kluczowych ostatnich 11 węzłów;
 usuń wszystkie elementy listy;
 prezentacja wartości kluczowych ostatnich 11 węzłów;
 wypisz liczbę węzłów w liście;
 czas stop;
 wypisz czas wykonania.

Przygotowanie e-maila do wysłania:
Uwaga! Kod źródłowy programu (1 plik) po oddaniu prowadzącemu zajęcia laboratoryjne musi zostać
przesłany na adres sdizo@zut.edu.pl :
 plik z kodem źródłowym musi mieć nazwę: nr_albumu.sdizo.lab02.main.c (np.
123456.sdizo.lab02.main.c); jeśli kod źródłowy programu składa się z wielu plików,
to należy stworzyć jeden plik, umieszczając w nim kody wszystkich plików składowych; (plik
może mieć rozszerzenie .c lub .cpp)
 plik musi zostać wysłany z poczty ZUT (zut.edu.pl);
 nagłówek maila (temat) musi mieć postać: SDIZO I1 XXXY LAB02,gdzie XXXY to
numer grupy (np. SDIZO I1 210C LAB02) ;
 w pierwszych trzech liniach pliku z kodem źródłowym w komentarzach muszą znaleźć się:
o linia 1: informacja identyczna z zamieszczoną w nagłówku maila
o linia 2: imię i nazwisko


o linia 3: adres email
email nie powinien zawierać żadnej treści (tylko załącznik).


Document preview lab2.pdf - page 1/2

Document preview lab2.pdf - page 2/2

Related documents


lab2
asd2017 ps0102 zlozonosc
wst p do logiki i teorii mnogo ci
dokumentacja1 2
pytania e14
c

Link to this page


Permanent link

Use the permanent link to the download page to share your document on Facebook, Twitter, LinkedIn, or directly with a contact by e-Mail, Messenger, Whatsapp, Line..

Short link

Use the short link to share your document on Twitter or by text message (SMS)

HTML Code

Copy the following HTML code to share your document on a Website or Blog

QR Code

QR Code link to PDF file lab2.pdf