Snaar

(Doorverwezen vanaf String)

Een string in de informatica is een opeenvolging van karakters. Sequenties van andere soorten data carriers genoemd of, in het Engels, array.

Het kan bestaan ​​uit bytes in het geval van snaren met ASCII of woord voor Unicode-coderingen en UTF.

Vaak reeks data waaruit een koord wordt beëindigd door een speciaal teken genaamd NULL gebruikt om het einde van de aan te duiden, hoewel er verschillende methoden vertegenwoordiging, waarvan sommige gebruiken een ander terminator of met van andere systemen het bepalen van de lengte.

In veel programmeertalen, zoals Java of C # de string, om veiligheidsredenen, een object kan niet worden bewerkt. Dit betekent dat wanneer een nieuwe waarde wordt toegewezen aan een tekenreeks daadwerkelijk creëert nieuwe snaren.

Bijvoorbeeld, in C ++, onderwijs

eigenlijk creëert vier snaren: de snaar in zijn de "abc" vertegenwoordigen de "laatste" en ten slotte dat voor de tijdelijke waarde "abcdef" slaan vertegenwoordigen. Juist om deze reden, talen als Java en C # verstrekken van andere objecten, zoals StringBuffer of StringBuilder reeks operaties die sneller en minder kostbaar in termen van geheugengebruik te schakelen.

Data type "string"

Een type tekenreeks gegevens is een soort gegevens gebaseerd op de idee van een formele string. Snaren zijn een soort gegevens zo belangrijk en nuttig dat onderdeel van bijna alle programmeertalen. In sommige talen deze beschikbaar zijn primitieve types en anderen samengestelde types.

Terwijl de formele snaren van een willekeurige lengte kan hebben, de snaren van programmeertalen hebben beperkte lengte. In het algemeen zijn er twee soorten stringdata types: de vaste lengte snaren, waarin een vast maximumlengte hebben en variabele lengte snaren, waarvan de lengte kan worden gemodificeerd met specifieke instructies. De meeste van de strings in moderne programmeertalen van variabele lengte. Ondanks de naam, zelfs variabele lengte strings beperkt in lengte; Echter, in het algemeen, de limiet is alleen afhankelijk van de hoeveelheid geheugen die op uw computer beschikbaar.

De types stringdata ook verschillen afhankelijk van het alfabet van welke gedefinieerd. Sommige snaren zijn ontworpen voor gebruik op een enkele vooraf bepaalde alfabet en anderen op een willekeurig alfabet. Bijvoorbeeld, in de standaard bibliotheek van C ++ strings worden geparametreerd het alfabet karakters.

Vertegenwoordigingen

De tekenreeksrepresentatie hangt vooral af van de keuze van de tekenset te gebruiken en de methode van tekencodering. Oudere implementaties van snaren zijn ontworpen om te werken met tekensets en coderingen gedefinieerd dall'ASCII, of meer recent extensies zoals ISO-serie 8859. De moderne implementaties vaak gebruik van de uitgebreide reeks tekens gedefinieerd als Unicode, samen met een verscheidenheid van complexe coderingen zoals UTF-8 en UTF-16.

De meeste implementaties van strings lijken array waarvan de elementen van de codes die overeenkomen met de tekens die in de betreffende tekenset bevatten. Het belangrijkste verschil is dat in sommige coderingen het equivalent van één logische karakter meer elementen van de matrix vereisen. Een voorbeeld hiervan is het UTF-8 als één logisch teken kan tot vier bytes. In deze gevallen is de logische lengte van de tekenreeks verschilt van die van de matrix.

De lengte van een string worden opgeslagen impliciet met een speciale afsluitende karakter. Dit karakter is vaak het null-teken een code nul conventie gebruikt en bestendigd door de populaire programmeertaal C. De lengte van een string kan ook expliciet worden opgeslagen, bijvoorbeeld door het aanbrengen van een prefix om de string met een gehele waarde, waarmee dit verdrag Bijvoorbeeld in Pascal. Merk op dat bij eindigende reeksen beëindiging karakter nooit toelaatbaar als inhoud van een tekenreeks.

Hier een voorbeeld van een zero-eindigende tekenreeks opgeslagen in een buffer van 10 bytes, dat ook een ASCII vertegenwoordiging heeft

De lengte van de snaar in dit voorbeeld van 5 karakters, echter bezet 6 bytes. De tekens na beëindiging geen deel van de string, kan zij een deel van een tekenreeks eenvoudig als afvalstoffen.

De string equivalent in Pascal:

Links van deze andere gemeenschappelijke representaties mogelijk.

Het gebruik van touw kunnen bepaalde bewerkingen te maken, zoals inserties, deleties en ketens efficiënter.

Algoritmen voor strijkers

Ze werden onderzocht vele algoritmen voor het manipuleren van de snaren die zich onderscheiden van het doel en verschillende keuzen compromis tegenover tegenstrijdige eisen de amplitude van de stroom en efficiency.

Deze algoritmen worden in categorieën als volgt:

  • zoekalgoritmen snaren met de taak van het vinden van een subtekenreeks of een bepaalde configuratie van de personages,
  • sorteeralgoritmen,
  • algoritmen voor reguliere expressies,
  • scansori parser en string.

Geavanceerde algoritmen voor de verwerking van strings vaak gebruik uitgebreide formele mechanismen en complexe datastructuren, onder hen denken aan de bomen van suffixen en eindige state machines.

Talen en nutsbedrijven gerichte ontwikkeling van strings

De snaren zijn een veelgebruikt type gegevens teneinde de ontwikkeling van verschillende talen gericht op de verwerking van tekenreeksen meer aanvragen vergemakkelijken vanuit toepassingen induceren. Onder deze zijn:

  • awk
  • Icoon
  • Perl
  • TCL
  • BOF
  • sed
  • SNOBOL

Vele voorzieningen scope Unix uitvoeren reeks manipulaties relatief eenvoudig en kan worden gebruikt om algoritmes verwerken strings programmeren nogal effectief. Deze tools kunnen strings, evenals de bestanden te behandelen en beken voorbij.

Recente scripting talen, zoals Perl, Python, Ruby en Tcl ze gebruiken reguliere expressies voor het eenvoudig manoeuvreren op teksten.

Lege string

Met lege string: een reeks met lengte nul, dat wil zeggen een tekenreeks die geen tekens bevat. Het kan worden beschouwd als analoog van de snaren van welke nul voor nummers.

Typisch, de meest voorkomende programmeertalen, de lege string wordt weergegeven met de notatie:

In C en C ++, omdat de snaren worden voorgesteld als arrays van tekens, kunt u de lege string verkrijgen door het invoegen in de eerste cel van de matrix, is de NULL karakter, dat gewoonlijk wordt gebruikt als indicator van het einde van de snaar en gecodeerde 0.

(0)
(0)
Commentaren - 0
Geen reacties

Voeg een Commentaar

smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile
Tekens over: 3000
captcha