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í:
| F | R | A | N | K | k | f | f | w | |
| 46 | 52 | 41 | 4E | 4B | 00 | 6B | 66 | 66 | 77 |
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:
| F | R | A | N | K | k | f | f | w | |
| 05 | 46 | 52 | 41 | 4E | 4B | 6B | 66 | 66 | 77 |
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ší.
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ězcové pátravé algoritmy
- pravidelné výrazové algoritmy