Функция SWAP в С — простой способ обменять значения двух переменных, которые содержат одинаковые типы данных. Эта функция доступна из стандартной библиотеки. В основном ее применяют для работы с небольшими данными, потому что она несет в себе конструкцию из копирования значений переменных и обмена этих значений. Такая конструкция задействует определенный объем памяти. А это значит, что, если применить функцию SWAP в Си для работы с большими данными, снизится производительность программы.
Функция SWAP в С
Для простой реализации функции SWAP в Си из стандартной библиотеки можно воспользоваться следующим шаблоном:
#include <utility>
using std::swap;
int main() {
int x = 8;
int y = 9;
// после выполнения программы результат будет таким: x = 9, y = 8
}
Функция SWAP в С может применяться и в более сложных конструкциях, например:
#include <iostream>
#include <algorithm>
#include <vector>
int main () {
int a=100, b=200; //присваиваем значения переменным: a=100, b=200
std::swap(a,b); // функция swap меняет значения переменных: a=200, b=100
std::vector<int> foo (2,a), bar (3,b) //проводим операции: foo:2x200 bar:3x100
std::swap(foo, bar); //swap меняет значения операций: foo:3x100 bar:2x200
std:: cout < < “ foo содержит: “;
for (std::vector<int>::iterator it=foo.begin(); it!=foo.end(); ++it)
std::cout < < ` < < *it;
std::cout < < `\n`;
return 0;
}
После выполнения эта программа нам выдаст следующий результат:
foo содержит: 100 100 100
Функция SWAP в С работает не только с числами, но и с другими типами данных, например со строками:
#include <bits/stdc++.h>
using namespace std;
int main()
{
string a = “Функция“;
string b = “Программирование“;
cout << “Значение переменной «а» до применения функции SWAP: “ << a << endl;
cout << “Значение переменной «b» до применения функции SWAP: “ << b << endl;
swap (a, b);
cout < < “Значение переменной «а» после применения функции SWAP: “ << a << endl;
cout << “Значение переменной «b» после применения функции SWAP: “ << b << endl;
retorn 0;
}
Результат выполнения такой программы будет следующий:
Значение переменной «а» до применения функции SWAP: Функция
Значение переменной «b» до применения функции SWAP: Программирование
Значение переменной «а» после применения функции SWAP: Программирование
Значение переменной «b» после применения функции SWAP: Функция
Заключение
Функция SWAP в С работает с любыми типами данных. Чтобы она сработала, у переменных обязательно должно быть какое-то значение. Она ничего не возвращает, а просто меняет местами значения переменных.

Другое