Krotka (struktura danych)

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, wyszukiwania

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.

Struktury te występują w wielu językach programowania, są obecne we wszystkich językach funkcyjnych, w Scali, Pythonie, Ruby, C++0x i.in.

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[edytuj | edytuj kod]

Utworzenie dwóch krotek: 3-elementowej oraz 4-elementowej, której jednym elementem jest 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

Zobacz też[edytuj | edytuj kod]