Krotka () – struktura danych, wykorzystywana w informatyce, będąca odzwierciedleniem matematycznej -ki uporządkowanej (zob. np. para uporządkowana, trójka uporządkowana), tj. uporządkowanego ciągu wartości dokładnie pewnych wartości.
Krotki przechowują stałe wartości o różnych typach danych – nie można zmodyfikować żadnego elementu, odczyt natomiast wymaga podania indeksu liczbowego żądanego elementu. Wyjątkiem jest język Swift, w którym zawartość krotki można modyfikować, jeśli została ona zadeklarowana jako zmienna.
W systemach relacyjnych baz danych krotka to wiersz relacji inny niż wiersz nagłówkowy z nazwami atrybutów, czyli wiersz danych.
Struktury te występują w wielu językach programowania, są obecne we wszystkich językach funkcyjnych (np. Haskell) i wieloparadygmatowych z możliwością programowania funkcyjnego (np. Scala, Python, Ruby, C++11, Swift, Rust, TypeScript).
Zapis krotek w językach programowania jest często identyczny z matematycznym: elementy są zamknięte w nawiasach okrągłych, oddzielone od siebie przecinkami. Np. ("Jan", "Kowalski", 33) to 3-elementowa krotka, której dwa pierwsze elementy są łańcuchami znakowymi, trzeci natomiast – liczbą całkowitą.
Część języków programowania (m.in. SML, Python, Scala) posiada także możliwość „rozpakowania” do osobnych zmiennych wartości krotki zgodnie z jej strukturą, w tym ignorowanie niepotrzebnych elementów (w SML-u i Scali oznaczane znakiem podkreślenia).
Przykłady w języku Python Utworzenie dwóch krotek: 3-elementowej oraz 4-elementowej, w której jeden z elementów to inna 3-elementowa krotka.
Jan = ("Jan", "Kowalski", 33) Janina = ("Janina", "Nowak", (21, 12, 1978), 'K')
Odczyt elementów krotki przez podanie indeksów:
imie = Jan nazwisko = Jan wiek = Jan
"Rozpakowanie" wszystkich wartości krotki do osobnych zmiennych:
imie, nazwisko, wiek = Jan
Wyciągnięcie wybranego elementu krotki:
_, _, (_, _, RokUrodzenia), _ = Janina
Przypisy
Bibliografia
Kategoria:Struktury danych