list::swap函数

原创 2015年11月20日 20:45:55

void swap (list& x);

Swap content
Exchanges the content of the container by the content of x, which is another list of the same type. Sizes may differ.

After the call to this member function, the elements in this container are those which were in x before the call, and the elements of x are those which were in this. All iterators, references and pointers remain valid for the swapped objects.

Notice that a non-member function exists with the same name, swap, overloading that algorithm with an optimization that behaves like this member function.

Whether the container allocators are also swapped is not defined, unless in the case the appropriate allocator traitindicates explicitly that they shall propagate.

Another list container of the same type as this (i.e., with the same template parameters, T and Alloc) whose content is swapped with that of this container.

下面看一个例子:


// swap lists
#include <iostream>
#include <list>

int main ()
{
  std::list<int> first (3,100);   // three ints with a value of 100
  std::list<int> second (5,200);  // five ints with a value of 200

  first.swap(second);

  std::cout << "first contains:";
  for (std::list<int>::iterator it=first.begin(); it!=first.end(); it++)
    std::cout << ' ' << *it;
  std::cout << '\n';

  std::cout << "second contains:";
  for (std::list<int>::iterator it=second.begin(); it!=second.end(); it++)
    std::cout << ' ' << *it;
  std::cout << '\n';

  return 0;
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

看到两个list赋值 用Swap 函数,没有直接用=, 看下面原来Swap 有时候更高效。

看到两个list赋值 用Swap 函数,没有直接用=, 看下面原来Swap 有时候更高效。 http://www.vckbase.com/module/articleContent.php?id=4...
  • youtherzhang
  • youtherzhang
  • 2017年05月02日 10:45
  • 432

C++ list 类学习笔记

双向循环链表list         list是双向循环链表,,每一个元素都知道前面一个元素和后面一个元素。在STL中,list和vector一样,是两个常被使用的容器。和vector不一样的是...
  • whz_zb
  • whz_zb
  • 2011年09月29日 00:12
  • 91560

python list 列表中可以用的swap方法

mylist[i], mylist[j] = mylist[j], mylist[i] 这样就可以swap两个元素了
  • xyqzki
  • xyqzki
  • 2015年12月02日 22:40
  • 2080

list::swap函数

void swap (list& x); Swap content Exchanges the content of the container by the content of x, ...
  • onlyou2030
  • onlyou2030
  • 2015年11月20日 20:45
  • 184

list

双向循环链表list         list是双向循环链表,,每一个元素都知道前面一个元素和后面一个元素。在STL中,list和vector一样,是两个常被使用的容器。和vector不一样的是,l...
  • cwl353253492
  • cwl353253492
  • 2015年08月05日 14:17
  • 156

容器中swap成员函数

swap操作交换两个相同类型容器中的内容,调用swap函数后,两个容器中的元素将会交换,容器中的元素交换以后会对容器的迭代器、引用、和指针有什么影响。 第一种情况:如果容器是vector,li...
  • yang20141109
  • yang20141109
  • 2016年02月28日 11:53
  • 695

Python 中怎么写 swap()交换函数

******Python 不需要交换函数swap(),如果要交换a,b的话,只需要使用如下语句: a,b = b,a 即可(因为:Python以引用方式管理对象,你可以交换引用,...
  • hyqsong
  • hyqsong
  • 2015年08月22日 21:44
  • 3149

std::list主要函数

list是一个双向链表,因此它的函数也都要从链表的角度来进行理解。迭代器返回迭代器,和list::iterator一起使用,注意end()指向链表末尾,不指向最后一个元素begin()end()返回反...
  • alvanchen
  • alvanchen
  • 2010年07月20日 20:25
  • 28564

jQuery 插件收集(1) SwapList

      jQuery 插件数量非常多,也非常强大,但是平时如果不去收集一下这方面的资料,用的时候现找还是有点难度的。所以个人计划要慢慢收集一些jQuery插件把学习过程记录下来。以备不时之需。  ...
  • snailbinich
  • snailbinich
  • 2010年06月10日 21:21
  • 271

C语言swap函数

http://blog.sina.com.cn/u/2943212997 c语言中的swap函数:     void swap(int *a, int *b) {         ...
  • u012349696
  • u012349696
  • 2014年02月19日 17:50
  • 6297
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:list::swap函数
举报原因:
原因补充:

(最多只允许输入30个字)