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...

swap交换函数

  • 2015年07月07日 21:05
  • 466B
  • 下载

2.swap-two-nodes-in-linked-list(交换链表中的两个结点)

swap-two-nodes-in-linked-list(交换链表中的两个结点) 链接:http://www.lintcode.com/zh-cn/problem/swap-two-nodes-in...
  • baolinq
  • baolinq
  • 2017年06月28日 22:11
  • 382

#511 Swap Two Nodes in Linked List

题目描述: Given a linked list and two values v1 and v2. Swap the two nodes in the linked list wit...

LeetCode 24 Swap Nodes in Pairs(交换序列中的结点)(Linked List)

翻译给定一个链表,调换每两个相邻节点,并返回其头部。例如, 给定 1->2->3->4, 你应该返回的链表是 2->1->4->3。你的算法必须使用唯一不变的空间。你也不能修改列表中的值,只有节点本身...
  • NoMasp
  • NoMasp
  • 2015年11月12日 18:43
  • 3937

vector利用swap()函数进行内存的释放

首先,vector与deque不同,其内存占用空间只会增长,不会减小。比如你首先分配了10,000个字节,然后erase掉后面9,999个,则虽然有效元素只有一个,但是内存占用仍为10,000个。所有...

Java方法参数传递(Java swap函数)

Java里方法的参数传递方式只有一种:值传递。值传递,就是将实际参数值的副本(复制品)传入方法内,而参数本身不会受到任何影响。       public class PrimitiveTransfe...

输入a,b,c三个整数,按由大到小顺序输出。(用3个指针变量指向3个整形变量,然后用swap函数来实现互换3个整型变量的值)

/* * Copyright (c) 2012, 烟台大学计算机学院 * All rights reserved. * 作 者: 刘同宾 ...

VC++6.0环境下,使用传引用方式调用自定义的swap函数来达到两数交换的目的

VC++6.0环境下,使用传引用方式调用自定义的swap函数来达到两数交换的目的 1.传引用方式的交换函数swap声明放在main函数中进行局部声明,包含命名空间std中的iostream头文件。 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:list::swap函数
举报原因:
原因补充:

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