C++ 算法 swap()函数

C++ 算法 swap()函数

C++算法函数swap()用于交换或称为交换两个容器的值。

语法

template<class T> void swap(T& a, T& b);

参数

a :它是第一个带有某个值的容器。

b :它是另一个带有某个值的容器。

返回值

这个函数只是交换了两个容器的值,并没有返回任何东西。

示例1

#include <iostream> 
#include <algorithm>
#include <vector>   
int main () 
{
  int a=14, b=9;
  std::swap(a,b);
  std::vector<int> sg (4,a), ss (6,b);      
  std::swap(sg,ss);                          
  std::cout << "sg contains:";
  for (std::vector<int>::iterator ti=sg.begin(); ti!=sg.end(); ti++)
    std::cout << ' ' << *ti;
  std::cout << '\n';

  return 0;
}

输出:

sg contains: 14 14 14 14 14 14

示例2

#include <bits/stdc++.h>
using namespace std;
int main()
{
    int ss = 9;
    int sg = 14;
    cout << "Value of ss before swapping: " << ss << endl;
    cout << "Value of sg before swapping: " << sg << endl;
    swap(ss, sg);
    cout << "Value of ss after swapping: " << ss << endl;
    cout << "Value of sg after swapping: " << sg << endl;
    return 0;
}

输出:

Value of ss before swapping: 9
Value of sg before swapping: 14
Value of ss after swapping: 14
Value of sg after swapping: 9

复杂性

对于数组,该函数的复杂性为N,因为交换操作是在每个元素上单独执行的。对于非数组,该函数的复杂度为常数。

数据竞争

两个容器都会被修改

异常

如果任何一个容器元素引发异常,该函数将抛出异常。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程