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