Szukaj:



Ostatnio oglądane:
  • Tablica asocjacyjna [pl]
  • Wiedza [pl]
  • Szwecja [pl]
  • Prawo własności intelektualnej [pl]
  • Projekt internetowej encyklopedii [pl]
  • Tawhid [pl]
  • Styczeń [pl]
  • Portal:Koszykówka [pl]
  • Portal:II wojna światowa [pl]
  • Specjalna:Wszystkie strony/1043 Beate [p
  • Sunna [pl]
  • Węgry [pl]
  • Pascha (Wielkanoc) [pl]
  • Podział administracyjny [pl]
  • Planeta [pl]
  • Ustawa [pl]
  • Rząd tymczasowy [pl]
  • Portal:Kategorie Główne [pl]
  • Sufizm [pl]
  • Podejrzany [pl]
  • Portal:Szkocja [pl]
  • Portal:Internet [pl]
  • Specjalna:Wszystkie strony/11376 Taizomu
  • Sobota [pl]
  • Rok liturgiczny [pl]
  • Ratusz we Lwowie [pl]
  • Uniwersytet [pl]
  • Przegląd zagadnień z zakresu fizyki [p
  • Pozytywizm [pl]
  • Wybierz język: ar | id | bg | ca | ceb | cs | da | de | et | en | es | eo | fr | he | hr | it | ko | lt | hu | nl | ja | no | pl | pt | ru | ro | sk | sl | sr | fi | sv | te | tr | uk | zh
    Historia i autorzy | źródło tekstu - Wikipedia | Edycja

    Tablica asocjacyjna

    Tablica asocjacyjna (mapa, słownik, ang. associative array, map, dictionary) – nazwa dla powszechnie stosowanego w informatyce abstrakcyjnego typu danych, który przechowuje pary (unikalny klucz, wartość) i umożliwia dostęp do wartości poprzez podanie klucza. Typ danych klucza może być praktycznie dowolny, najczęściej są to łańcuchy znaków (napisy), ale także liczby (całkowite, zmiennoprzecinkowe, zespolone), krotki itp.

    Wiele złożonych danych jest naturalnie reprezentowanych przez tego typu tablice - np. drzewa plików, nagłówki poczty, a nawet wszystkie atrybuty obiektu czy przestrzeń nazw zmiennych.

    Tablice asocjacyjne realizowane są jako drzewa poszukiwań (BST, AVL, trie itp.) lub tablice mieszające.

    Formalnie typ tablicy asocjacyjnej odpowiada zbiorowi skończonych funkcji częściowych z typu klucza tablicy w typ wartości tablicy.

    Spis treści

    [edytuj] Cechy tablic asocjacyjnych

    Najczęściej próba przypisania wartości do nieistniejącego klucza powoduje automatyczne utworzenie klucza i wówczas następuje zwykłe przypisanie.

    Na ogół przypisanie nowej wartości do istniejącego klucza zastępuje poprzednią wartość, ale np. w języku Ocaml z kluczami powiązane są listy wartości i przypisanie wartości do klucza powoduje tak naprawdę dopisanie jej na początek listy.

    Sięgnięcie do nieistniejącego klucza zwykle kończy się błędem, ale np. w języku AWK zwracany jest pusty łańcuch znaków.

    Istniejące implementacje tablic asocjacyjnych, bądź to dostępne bezpośrednio w danym języku programowania, bądź jako oddzielna biblioteka programistyczna na ogół oferują większą funkcjonalność niż tylko przypisanie wartości do klucza i pobranie wartości. Może to być:

    • usunięcie pary (klucz, wartość);
    • stwierdzenie, czy dany klucz znajduje się w tablicy (bez pobierania wartości);
    • pobranie listy wszystkich kluczy lub przynajmniej możliwość iterowania po niej;
    • pobranie listy wszystkich wartości;
    • pobranie listy wszystkich par (klucz, wartość).

    [edytuj] Tablice asocjacyjne w różnych językach programowania

    [edytuj] AWK

    W języku AWK tablica asocjacyjna nazywana jest tablicą (array). Kluczem może być pojedyncze wyrażenie (zamieniane zawsze na łańcuch znaków), albo lista wyrażeń, które są sklejane razem, a ciąg je separujący jest określony przez zmienną SUBSEP.

    tablica["Wikipedia"] = "Wolna encyklopedia";
    tablica[10, 12, 2006] = "środa";
    tablica[255] = 0xff;
    if ("Wikipedia" in tablica)
    	print tablica["Wikipedia"];
    

    [edytuj] PHP

     $tablica = array("klucz" => "wartosc", 
                      "nowy_klucz" = 2)
    

    [edytuj] Perl

     $tablica_asocjacyjna{"nazwa_elementu"}
     %kolejna_tablica_asocjacyjna = (apple  => "red", banana => "yellow", );
    

    [edytuj] Python

    W języku Python tablice są nazywane słownikami (dictionary, dict). Kluczem może być dowolny obiekt, która posiada metodę __hash__. Jeśli chodzi o typy wbudowane, jako klucze mogą służyć liczby całkowite, zmiennoprzecinkowe, zespolone, łańcuchy znaków (zwykłe i unikodowe), niemodyfikowalne zbiory (immutable sets), krotki, a nawet funkcje. Natomiast listy, modyfikowalne zbiory ani słowniki nie mogą być kluczami.

     tablica = {"Wikipedia": "Wolna encyklopedia",
                (10, 12, 2006): "środa",
                255: 0xff}
     
     # wypisanie wszystkich kluczy z tablicy
     for klucz in tablica:
     	print klucz
     
     # wypisanie wszystkich wartości z tablicy
     for wartosc in tablica.itervalues():
     	print wartosc
     
     # wypisanie jakie wartości są przypisane do jakich kluczy
     for klucz, wartosc in tablica.iteritems():
     	print klucz, '=>', wartosc
     
     # wyświetlenie wartości związanej z kluczem (łańcuchem) "Wikipedia"
     if "Wikipedia" in tablica:
     	print tablica["Wikipedia"]
     
     print tablica.get("Wikipedia", "brak klucza 'Wikipedia'")
    

    [edytuj] Zobacz też

    Change language: All | العربية | Bahasa Indonesia | Български | Català | Cebuano | Česky | Dansk | Deutsch | Eesti | English | Español | Esperanto | Français | עברית | Hrvatski | Italiano | 한국어 | Lietuvių | Magyar | Nederlands | 日本語 | Norsk (bokmål) | Polski | Português | Русский | Română | Slovenčina | Slovenščina | Српски / Srpski | Suomi | Svenska | తెలుగు | Türkçe | Українська | 中文

    Autorem skryptu AdWiki v0.9uni (2007) jest husky83 (licencja dla bestpartner )
    Wikipedia jest zarejestrowanym znakiem towarowym Wikimedia Foundation
    Wszystkie materiały pochodzą z Wikipedii, obięte są licencją GNU Free Documentation License
    sypialnie hosting dla firm kalendarze ka agencja interaktywna warszawa | wymiana linkami system wymiany linków SEO Tools . - . - . - . - . - . - . - . - . -