Podstawy programowania
Transkrypt
Podstawy programowania
Podstawy programowania Wykład PASCAL Dynamiczne struktury danych 1 dr Artur Bartoszewski - Podstawy prograowania , sem. 1- WYKŁAD Dynamiczne struktury danych Listy i drzewa Listy jednokierunkowe Listy jednokierunkowe uporządkowane Listy dwukierunkowe Listy dwukierunkowe uporządkowane Struktury drzewiaste Listy z wartownikami 2 dr Artur Bartoszewski - Podstawy programowania , sem. 1- WYKŁAD Dynamiczne struktury danych Lista jednokierunkowa ... Początek 3 Element 1 Element 2 Element n dr Artur Bartoszewski - Podstawy programowania , sem. 1- WYKŁAD Dynamiczne struktury danych Lista dwukierunkowa 4 dr Artur Bartoszewski - Podstawy programowania , sem. 1- WYKŁAD Dynamiczne struktury danych Drzewo binarne 5 dr Artur Bartoszewski - Podstawy programowania , sem. 1- WYKŁAD Dynamiczne struktury danych Definiowanie listy type PElement = ^TElement; TElement = record ............... Nast: PElement; end; ............. var Lista: PElement; 6 ... Nast dr Artur Bartoszewski - Podstawy programowania , sem. 1- WYKŁAD Dynamiczne struktury danych Instrukcje New i Dispose var p: PElement; ............. New(p); ............. Dispose(p); 7 Wskaźnik p typu PElement Element p^ typu TElement dr Artur Bartoszewski - Podstawy programowania , sem. 1- WYKŁAD Dynamiczne struktury danych Operacje na elementach listy Wstawianie nowego elementu na początek listy Wstawianie nowego elementu po danym elemencie listy Usunięcie pierwszego elementu listy Usunięcie z listy elementu znajdującego się po danym elemencie 8 dr Artur Bartoszewski - Podstawy programowania , sem. 1- WYKŁAD Dynamiczne struktury danych Przykład 1 - kolejka W tym przykładzie za pomocą dynamicznej struktury danych – listy jednokierunkowej realizujemy kolejkę. Wykorzystany zostanie nico zmodyfikowany schemat listy - lista jednokierunkowa z dodatkowym wskaźnikiem na jej koniec (ostatni element. Ostatni Kolejka 9 Liczba Liczba Nast Nast ... Liczba Nast dr Artur Bartoszewski - Podstawy programowania , sem. 1- WYKŁAD Dynamiczne struktury danych Przykład: Definicja i deklaracja zmiennych: 10 dr Artur Bartoszewski - Podstawy programowania , sem. 1- WYKŁAD Dynamiczne struktury danych Przykład: Procedura ustawia w element w kolejce – na jej koniec 11 dr Artur Bartoszewski - Podstawy programowania , sem. 1- WYKŁAD Dynamiczne struktury danych Przykład: Funkcja zwraca wartość pierwszego elementu z kolejki, jednocześnie go z niej usuwając. 12 dr Artur Bartoszewski - Podstawy programowania , sem. 1- WYKŁAD Dynamiczne struktury danych Przykład: Procedura wypisuje wszystkie elementy kolejki. 13 dr Artur Bartoszewski - Podstawy programowania , sem. 1- WYKŁAD Przykład: 14 dr Artur Bartoszewski - Podstawy programowania , sem. 1- WYKŁAD Dynamiczne struktury danych Przykład 2 – lista jednokierunkowa Program pokazuje podstawowe działania w liście dwukierunkowej: • dodanie elementu na początku • na końcu, usuniecie elementu o wskazanej wartości (kluczu) • wypisanie listy od dowolnej strony. ListaLewy 15 Liczba Liczba Liczba Pop Pop Pop Nast Nast Nast ListaPrawy dr Artur Bartoszewski - Podstawy programowania , sem. 1- WYKŁAD Dynamiczne struktury danych Przykład 2: Tworzenie struktury listy. 16 dr Artur Bartoszewski - Podstawy programowania , sem. 1- WYKŁAD Dynamiczne struktury danych Przykład 2: Procedura wstawia element z lewej strony listy. 17 dr Artur Bartoszewski - Podstawy programowania , sem. 1- WYKŁAD Dynamiczne struktury danych Przykład 2: Procedura wstawia element z prawej strony listy. 18 dr Artur Bartoszewski - Podstawy programowania , sem. 1- WYKŁAD Przykład 2: 19 dr Artur Bartoszewski - Podstawy programowania , sem. 1- WYKŁAD Dynamiczne struktury danych Przykład 2: Procedura wypisuje wszystkie elementy listy od lewej. 20 dr Artur Bartoszewski - Podstawy programowania , sem. 1- WYKŁAD Dynamiczne struktury danych Przykład 2: Procedura wypisuje wszystkie elementy listy od prawej. 21 dr Artur Bartoszewski - Podstawy programowania , sem. 1- WYKŁAD 22 dr Artur Bartoszewski - Podstawy programowania , sem. 1- WYKŁAD Literatura: W prezentacji wykorzystano przykłady i fragmenty: • R. Jarża, Turbo Pascal. Szkoła programowania, Wydawnictwo Robomatic 2000. (dostępne w bibliotece uczelni) • http://pascal.kurs-programowania.pl • http://4programmers.net • T. M. Sadowski, Turbo Pascal. Programowanie, Helion 1996. 23 dr Artur Bartoszewski - Nowoczesne technologie informatyczne - WYKŁAD