Другое

Функция SWAP в языке С: что это и как работает

Lorem ipsum dolor

Функция 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 в С работает с любыми типами данных. Чтобы она сработала, у переменных обязательно должно быть какое-то значение. Она ничего не возвращает, а просто меняет местами значения переменных.

Схожие статьи

Crontab: определение, виды, настройки, инструкция и примеры
Другое

Crontab: определение, виды, настройки, инструкция и примеры

Подработка для программистов, которые только закончили учебу
Другое

Подработка для программистов, которые только закончили учебу

Бинарный файл: определение, правила и особенности работы
Другое

Бинарный файл: определение, правила и особенности работы

Что такое todo file description? Исправляем эту ошибку самостоятельно
Другое

Что такое todo file description? Исправляем эту ошибку самостоятельно