c++ swap

swap简介

swap操作实现交换两个容器内所有元素的功能。要交换的容器的类型必须匹配: 必须是相同类型的容器,而且所存储的元素类型也必须相同。调用了swap函数后,右操作数原来存储的元素被存放在左操作数中,反之亦然。

// swap algorithm example (C++98)
#include <iostream>     // std::cout
#include <algorithm>    // std::swap
#include <vector>       // std::vector

int main () {

  int x=10, y=20;                              // x:10 y:20
  std::swap(x,y);                              // x:20 y:10

  std::vector<int> foo (4,x), bar (6,y);       // foo:4x20 bar:6x10
  std::swap(foo,bar);                          // foo:6x10 bar:4x20

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

  return 0;
}

输入三个整数,由小到大的顺序输出。
指针的方式

#include <stdio.h>
int main()
{ 
	void swap (int *p1, int *p2);
 	int n1, n2, n3;
 	int *p1, *p2, *p3;
 	printf("input three integer n1,n2,n3: ");
	scanf("%d,%d,%d,&n1,&n2,&n3);
 	p1=&n1;
 	p2=&n2;
 	p3=&n3;
 	if (n1>n2) swap (p1,p2);
 	if(n1> n3) swap (p1,p3);
 	if (n2>n3) swap (p2,p3);
	printf("now, the order is:%d,%d,%d\n",n1,n2,n3);
	
 	return 0;
 }
 
void swap (int *p1,int *p2)
{
	int p;
	p= *p1; *p1=*p2;*p2=*p3;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值