STLalgorihtm算法iter_swap(29)


STLalgorihtm算法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);\n 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());\n 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

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


发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注