• Nie Znaleziono Wyników

Programowanie proceduralne

N/A
N/A
Protected

Academic year: 2021

Share "Programowanie proceduralne"

Copied!
26
0
0

Pełen tekst

(1)

Programowanie proceduralne

INP001210WL

rok akademicki 2018/19 semestr letni

Wykład 5

Karol Tarnowski

karol.tarnowski@pwr.edu.pl

A-1 p. 411B

(2)

• typedef

• Struktury cykliczne

– lista jednokierunkowa – drzewo binarne

Plan prezentacji

(3)

• Język C dysponuje mechanizmem, który

umożliwia tworzenie nowych nazw typów danych typedef okreslenie_typu nowa_nazwa;

typedef int Length;

Length len, maxlen;

Length *lengths[];

typedef

(4)

typedef

(5)

typedef

(6)

• Polem struktury może być wskaźnik na taką strukturę – tego typu struktury

nazywamy strukturami cyklicznymi

• Polem struktury nie może być sama struktura

Struktury cykliczne

(7)

Struktury cykliczne

Przykład

ptr1 ptr2 ptr3

NULL

(8)

Lista

List Node

next v

Node next v

Node next v

NULL

(9)

Lista

Dodaj element (na początku)

List Node

next v

Node next v

Node next v

NULL

(10)

Lista

Dodaj element (na początku)

List Node

next v

Node next v

Node next v

NULL Node

next v

(11)

Lista

Dodaj element (na początku)

List Node

next v

Node next v

Node next v

NULL Node

next v

(12)

Lista

Dodaj element (na początku)

List Node

next v

Node next v

Node next v

NULL Node

next v

(13)

Lista

Dodaj element (wewnątrz)

List Node

next v

Node next v

Node next v

NULL

(14)

Lista

Dodaj element (wewnątrz)

List Node

next v

Node next v

Node next v

NULL Node

next v

(15)

Lista

Dodaj element (wewnątrz)

List Node

next v

Node next v

Node next v

NULL Node

next v

(16)

Lista

Dodaj element (wewnątrz)

List Node

next v

Node next v

Node next v

NULL Node

next v

(17)

Lista

Wypisz (iteracyjnie)

List Node

next v

Node next v

Node next v

NULL n

(18)

Lista

Wypisz (iteracyjnie)

List Node

next v

Node next v

Node next v

NULL n

(19)

Lista

Wypisz (iteracyjnie)

List Node

next v

Node next v

Node next v

NULL n

(20)

Lista

Wypisz (iteracyjnie)

List Node

next v

Node next v

Node next v

NULL n

(21)

Lista

Wypisz (iteracyjnie)

List Node

next v

Node next v

Node next v

NULL n

(22)

Lista

Usuń pierwszy element

List Node

next v

Node next v

Node next v

NULL n

(23)

Lista

Usuń pierwszy element

List Node

next v

Node next v

Node next v

NULL n

(24)

Lista

Usuń pierwszy element

List Node

next v

Node next v

Node next v

NULL n

(25)

Lista

Usuń pierwszy element

List Node

next v

Node next v

NULL

(26)

Drzewo

Node

left v

right

Node

left v

right

Node

left v

right

Node

left v

right

Node

left v

right

Node

left v

right

Tree

Cytaty

Powiązane dokumenty

• Deklaracja funkcji określa nazwę funkcji, typy argumentów i typ wartości zwracanej. • Definicja funkcji to deklaracja + ciało

● strumienie wejścia/wyjścia: iostream, fstream, sstream, iomanip. ●

(3) przestawiamy wskaźnik next w węźle wskazywanym przez pred (lub wskaźnik head gdy pred jest pusty) oraz wskaźnik prev w węźle wskazywanym przez succ (lub wskaźnik tail gdy

• Tworzenie funkcji głównej nie jest wymogiem Pythona. • Tworzenie funkcji głównej jest konwencją, ale wykorzystywanie konwencji zwiększa czytelność

'a' plik otwarty do zapisu nowych danych – wszystkie nowe dane zostaną umieszczone na końcu pliku, jeśli plik nie istnieje będzie utworzony..

• Wycinek może zawierać również elementy listy z podanym krokiem:.

• Operator in (not in) można wykorzystać do sprawdzenia, czy wskazany ciąg zawiera się (nie zawiera się) w innym. ciag_tekstowy1

rok akademicki 2019/20 semestr letni..