Συμβολοσειρά: Διαφορά μεταξύ των αναθεωρήσεων

Περιεχόμενο που διαγράφηκε Περιεχόμενο που προστέθηκε
Γραμμή 10:
===Πράξεις συμβολοσειρών===
====Συνένωση (ή παράθεση)====
Έστω μια συμβολοσειρά u και μια συμβολοσειρά v ενός αλφαβήτου Σ. Η συνένωση (concatenation) της u με τη v συμβολίζεται uv και είναι μια καινούργια συμβολοσειρά που προκύπτει από τη u ακολουθούμενη από τη v. Για παράδειγμα:
Υπάρχει μια πράξη που γίνεται με δυό σειρές χαρακτήρων, η '''συνένωση''' (αγγλ. ''concatenation''). Η συνένωση, από τις δυό σειρές χαρακτήρων (π.χ. την "αβγ" και την "δ"), δημιουργεί μια νέα σειρά χαρακτήρων (την "αβγδ"), αρχίζοντας με τα περιεχόμενα της ''αβγ'' και συνεχίζοντας την σειρά με τα περιεχόμενα της ''δ'', (όπως ενώνονται δυο κομμάτια αλυσίδας για να φτιάξουν ένα μακρύτερο). Η νέα σειρά χαρακτήρων ''αβγδ'' έχει μήκος ίσο με το άθροισμα των μηκών των ''αβγ'' και ''δ''. Η συνένωση δεν είναι αντιμεταθετική πράξη, οπότε η διάταξη των σειρών χαρακτήρων επηρεάζει το αποτέλεσμα της συνένωσης :
 
* η strA1 είναι '''πρόθεμα''':<br>(strA2 & strA1) δίνει "'''δ'''αβγ".
Έστω <math> u = a_1 a_2 a_3 \dots a_i </math> και
* η strA2 είναι '''επίθεμα''':<br>(strA1 & strA2) δίνει "αβγ'''δ'''". Η διαδικασία επιμήκυνσης με επίθεμα (αγγλ. ''append'') είναι πολύ συνηθισμένη και σε ''αρχεία'' (αγγλ. ''file'').
έστω <math> v = b_1 b_2 b_3 \dots b_j </math>,
* η strA2 είναι '''ένθεμα'''.<br>Χρησιμοποιώντας τμήματα σειρών χαρακτήρων, μπορούμε να ενθέσουμε την δεύτερη σειρά χαρακτήρων strA2 ανάμεσα στους χαρακτήρες της πρώτης:<br>(strA1[1:1] & strA2 & strA1[2:2]) δίνει "α'''δ'''βγ".<br>(strA1[1:2] & strA2 & strA1[3:1]) δίνει "αβ'''δ'''γ".
 
τότε <math> uv = a_1 a_2 a_3 \dots a_i b_1 b_2 b_3 \dots b_j </math>.
 
Για κάθε συμβολοσειρά w ισχύει wε = εw = w, όπου ε η κενή συμβολοσειρά.
 
====Αναστροφή====