Úvodní stránka | Tato stránka v originále

Doslovný řetězec

doslovný řetězec (nebo řetěz charakterů) je celkový datový typ použitý v nejvíce programovací jazyky reprezentovat text.

Tabulka s obsahem
1 reprezentace v programovacích jazycích
2 řetězcové pomůcky
3 manipulace řetězce
4 algoritmy
5 řetězců v teoretické informatice
6 vidět také

Reprezentace v programovacích jazycích

Obyčejná reprezentace je sada kódů znaku, zabírat jeden bajt (např. v ASCII kódu) nebo dva bajty (např. v unikóde) každý. Délka může být uložena implicitně tím, že používá zvláštní koncový znak (často Nula, ASCII kód 0) -- C programovací jazyk používá tuto konvenci (vidět C řetězec) -- nebo výslovně, například tím, že prefixing řetězec s celým číslem cenit (konvenci používanou v Pascalu).

Tady je příklad nuly skončil řetězec skladoval v 10 bajt vyrovnávací paměť, spolu s jeho ASCII reprezentací:

FRANK kffw
4652414E4B006B666677

Délka řetězce v nad příkladem 5 charakterů, ale poznamenat, že to zabírá 6 bajtů. Charaktery po terminator nevytvoří části reprezentace; oni mohou být jedna část dalšího řetězce nebo spravedlivé smetí.

Tady je rovnocenný Pascal řetězec:

 FRANKkffw
054652414E4B6B666677

Samozřejmě, jiné reprezentace jsou možné. Používat stromy a seznamy dělá jisté řetězcové operace, takový jako vložení charakteru nebo vymazání, účinnější.

Pomůcky řetězce

Řetězce jsou takové užitečný datatype že několik jazyků bylo navržené aby podal si řetězcové zpracovací žádosti snadné psát. Příklady obsahují:

Mnoho Unixových pomůcek vykonává jednoduché řetězcové manipulace a může být používán snadno programovat některé silné řetězcové zpracovací algoritmy. Soubory a konečné potoky mohou být viděni jako řetězce.

Nedávný psát jazyky, včetně Perl, Python a Rubínový, zaměstnat pravidelné výrazy usnadnit operace textu.

Manipulace řetězce

Jednoduchá operace na řetězcích je zřetězení. Jiné obyčejné operace zahrnují hledání podřetězec v delším řetězci, třídění seznam řetězců a rozebrat řetězec. Protože tam je tak mnoho praktických používání pro řetězce tam je mnoho sdružených algoritmů s různými kompromisy.

Pokročilé řetězcové algoritmy často zaměstnají komplexní mechanismy a datové struktury, mezi nimi stromy přípony a konečné státní stroje.

Algoritmy

Tam být paleta řetězce-zpracovávat algoritmy pro dělání různých věcí s řetězci:

Řetězce v teoretické informatice

V teoretický
informatika, jeden začíná non-se vyprázdnit konečný soubor volal abecedu; řetězce jsou pak definovány jako konečné sledy elementů od abecedy, včetně prázdného sledu. Soubor všech řetězců přes danou abecedu, spolu s concatentation řetězce pak formami monoid, ve skutečnosti volný monoid. Formální jazyky, centrální předměty studia, být definován jak podmnožiny tohoto monoid.

Viz též