STL algorihtm算法iter_swap(29)

iter_swap原型:

std::iter_swap

template <class ForwardIterator1, class ForwardIterator2>
  void iter_swap (ForwardIterator1 a, ForwardIterator2 b);
交换两个迭代器指向的元素的值。

该函数调用swap来交换两个值。

其行为类似与:

1
2
3
4
5
template <class ForwardIterator1, class ForwardIterator2>
  void iter_swap (ForwardIterator1 a, ForwardIterator2 b)
{
  swap (*a, *b);
}

一个简单的样例:
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main(int argv,char **argc)
{
	vector<int> v1{1,2,3,4};
	vector<int> v2{10,11,20};
	cout<<"v1=";
	for(int i:v1)
		cout<<i<<" ";
	cout<<endl;
	
	iter_swap(v1.begin(),v1.end()-1);
	cout<<"afeter 	iter_swap(v1.begin(),v1.end()-1);
 v1=";
	for(int i:v1)
		cout<<i<<" ";
	cout<<endl;

	cout<<"v2=";
	for(int i:v2)
		cout<<i<<" ";
	cout<<endl;

	iter_swap(v1.begin(),v2.end()-1);
	cout<<"afeter 	iter_swap(v1.begin(),v2.begin());
 v1=";
	for(int i:v1)
		cout<<i<<" ";
	cout<<endl;

	cout<<"v2=";
	for(int i:v2)
		cout<<i<<" ";
	cout<<endl;

}
执行截图:



——————————————————————————————————————————————————————————————————

//写的错误或者不好的地方请多多指导,能够在以下留言或者点击左上方邮件地址给我发邮件,指出我的错误以及不足。以便我改动。更好的分享给大家。谢谢。

转载请注明出处:http://blog.csdn.net/qq844352155

author:天下无双

Email:coderguang@gmail.com

2014-9-17

于GDUT

——————————————————————————————————————————————————————————————————






原文地址:https://www.cnblogs.com/blfbuaa/p/6798131.html