Krotka (struktura danych)

Zobacz też: inne znaczenia słowa „krotka”.
Wikipedia:Weryfikowalność
Ten artykuł od 2017-08 wymaga zweryfikowania podanych informacji.
Należy podać wiarygodne źródła w formie przypisów bibliograficznych.
Część lub nawet wszystkie informacje w artykule mogą być nieprawdziwe. Jako pozbawione źródeł mogą zostać zakwestionowane i usunięte.
Sprawdź w źródłach: Encyklopedia PWN • Google Books • Google Scholar • Federacja Bibliotek Cyfrowych • BazHum • BazTech • RCIN • Internet Archive (texts / inlibrary)
Dokładniejsze informacje o tym, co należy poprawić, być może znajdują się w dyskusji tego artykułu.
Po wyeliminowaniu niedoskonałości należy usunąć szablon {{Dopracować}} z tego artykułu.

Krotka (ang. tuple) – struktura danych będąca odzwierciedleniem matematycznej n-ki, tj. uporządkowanego ciągu 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[1], 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[0]
    nazwisko = Jan[1]
    wiek     = Jan[2]

"Rozpakowanie" wszystkich wartości krotki do osobnych zmiennych:

    imie, nazwisko, wiek = Jan

Wyciągnięcie wybranego elementu krotki:

    _, _, (_, _, RokUrodzenia), _ = Janina

Przypisy

Bibliografia

  • Jeffrey D. Ullman, Jennifer Wisdom: Podstawowy kurs systemów baz danych. Helion, 2011. ISBN 83-246-3224-7. (pol.).