Перейти до вмісту

Конкатенація

Очікує на перевірку
Матеріал з Вікіпедії — вільної енциклопедії.

Конкатенація (лат. concatēnāre, об'єднання, з'єднання) — в загальному сенсі - функція з'єднання двох сутностей або результат такої операції[1][2].

Конкатенація в програмуванні - послідовне з'єднання значень декількох змінних та повернення результуючого значення. Аргументами такої функції можуть бути такі сутності, як рядки або масиви, результатом - ланцюжок цих сутностей.

Приклади:

  • конкатенація слів «мікро» і «світ» дасть слово «мікросвіт».
  • конкатенація рядків «34» та «84» дають результат «3484».

У математиці[3]

[ред. | ред. код]

Конкатенаціябінарна операція, визначена на словах даного алфавіту. Якщо і слова в алфавіті , то конкатенацією слів і , яку позначимо в цій статті як , буде слово в тому ж алфавіті , що визначається рівністю

.

Наприклад, якщо і слова в алфавіті , що містить всі літери латинського алфавіту, то

.

Властивості конкатенації

[ред. | ред. код]
  • Операція конкатенації асоціативна.
  • Операція конкатенації некомутативна. Дійсно, , але . Від перестановки операндів змінюється результат операції, що й означає її некомутативність.
  • Порожнє слово, , є нейтральним елементом (одиницею) операції конкатенації. Тобто, якщо - порожнє слово, то для будь-якого слова виконана рівність:

.

  • Множина всіх слів у алфавіті утворює моноїд (так звана «вільна напівгрупа»).
  • Множина всіх непустих слів у алфавіті утворює напівгрупу.
  • Довжина конкатенації слів дорівнює сумі довжин операндів:

.

Піднесення до степеня

[ред. | ред. код]

Операція конкатенації слів, подібно операції множення чисел, породжує операцію піднесення до степеня. Нехай деяке слово в алфавіті , а ціле невід'ємне число. Тоді -м ступенем слова , що позначається , буде слово в тому ж алфавіті , визначене рівністю:

У випадку , степінь за визначенням буде рівною порожньому слову, .

В інформатиці

[ред. | ред. код]

Операція конкатенації визначається для типів даних, які мають структуру послідовності (список, чергу, масив і ряд інших). У загальному випадку, результатом конкатенації двох об'єктів і є об'єкт , отриманий почерговим додаванням всіх елементів об'єкта , починаючи з початку, в кінець об'єкта .

З міркувань зручності й ефективності розрізняють дві форми операції конкатенації:

  1. Модифікуюча конкатенація. Результат операції формується в лівому операнді.
  2. Немодифікуюча конкатенація. Результатом є новий об'єкт, операнди залишаються незмінними.[3]

Алгоритм

[ред. | ред. код]

Алгоритм конкатенації на прикладі двох масивів наведений нижче[4].

Дано:

  1. Масив з розміром .
  2. Масив з розміром .
  3. Масив з розміром , що є результатом конкатенації масивів та .
  4. Індекс масиву .

Суть алгоритму:

1. Виконати копіювання масиву в масив для :


2. Виконати копіювання масиву в масив для :


3. END

В мовах програмування

[ред. | ред. код]

В мові програмування C функція конкатенації рядків strcat міститься в бібліотеці <string.h> [5][6].

#include <stdio.h> 
#include <string.h> 

#define N 50

void main() 
{ 
	// Декларація змінної example
	char example[N]; 
    // Копіювати рядок в змінну example
	strcpy(example, "Кон"); 
	// Виконати конкатенацію значення змінної example
	strcat(example, "катенація");
	// Вивести на екран змінну example
	printf("%s\n", example); 
}
  1. concatenate. Wiktionary, the free dictionary (англ.). 23 серпня 2024. Процитовано 7 листопада 2024.
  2. Definition of CONCATENATION. www.merriam-webster.com (англ.). Процитовано 7 листопада 2024.
  3. а б джерело?
  4. Dixit, J. B. (2011-07). Programming in C (англ.). Laxmi Publications. ISBN 978-93-80298-39-9.
  5. strcat() in C. GeeksforGeeks (амер.). 14 жовтня 2021. Процитовано 7 листопада 2024.
  6. Dixit, J. B. (2011-07). Programming in C (англ.). Laxmi Publications. ISBN 978-93-80298-39-9.