本文采用三种方式实现两个数之间的交换,分别是①借助辅助变量temp的swap函数,②采用加减法的swap函数 ,③使用异或运算的swap函数。

现在直奔主题:

1、借助辅助变量temp的swap函数

I、引用类型形参

void swap(int &a, int &b) //引用类型方式
{int temp; //辅助变量temp = a;a = b;b = temp;
}

II、指针类型形参

void swap(int *a, int *b)
{int temp;temp = *a;*a = *b;*b = temp;
}

2、采用加减法的swap函数

void swap(int &a, int &b)
{a = a + b;b = a - b;a = a - b;
}

3、使用异或运算的swap函数

void swap(int &a, int &b)
{a = a ^ b;b = a ^ b;a = a ^ b;
}

交换函数swap的三种实现方法相关推荐

  1. php递归实现sum函数,php递归函数三种实现方法及如何实现数字累加

    搜索热词 递归函数在编程中是比较常用的一类函数,其特点是函数自身可以调用自身,但是必须在调用自身前有条件判断,否则会导致无限调用下去.本文列出了三种递归函数实现方法,第一种利用引用做参数,第二种利用全 ...

  2. (C++)用指针实现两数交换函数swap()的两种方法

    #include<cstdio>//用指针写swap()函数 void swap_1(int* p1,int* p2){int temp = *p1;*p1 = *p2;*p2 = tem ...

  3. C++函数指针的三种定义方法

    一.C的函数指针定义方法 定义一个两个int参数,一个int返回值的函数指针类型 typedef int (*func)(int,int) 定义一个两个int参数,一个int返回值的函数指针 int ...

  4. 将python中的小数直接进位的函数_python保留小数位的三种实现方法

    python保留小数位的三种实现方法 前言 保留小数位是我们经常会碰到的问题,尤其是刷题过程中.那么在python中保留小数位的方法也非常多,但是笔者的原则就是什么简单用什么,因此这里介绍几种比较简单 ...

  5. JavaScript中函数的三种定义方法

    JavaScript中函数定义的三种方法. 函数的三种定义方法分别是:函数定义语句.函数直接量表达式和Function()构造函数的方法.下面依次介绍这几种方法具体怎么实现. 1. 函数定义语句 // ...

  6. 冒泡法排序函数c语言,【C语言】冒泡法排序的三种实现方法

    冒泡法的三种排序方法: 1.数组排序 #include//#includeint main() { int i; int j; int tmp; int arr[8] = { 1, 3, 5, 7, ...

  7. 第二周项目1函数参数传递的三种方式

    /* .*Copyright (c) 2014,烟台大学计算机学院 *All right reserved. *文件名称:函数参数传递的三种方式.cpp *作者:彭子竹 *完成日期:2015年9月11 ...

  8. Topk问题的三种求解方法

    Topk问题的三种求解方法 什么是Topk问题 方法一:堆排序法 方法二:把N个数建堆,取出前k个 方法三:建一个k个数的堆 什么是Topk问题 其实顾名思义,这个问题也就是在N个数中找出前k个最值. ...

  9. python函数拟合不规则曲线_python 对任意数据和曲线进行拟合并求出函数表达式的三种解决方案...

    第一种是进行多项式拟合,数学上可以证明,任意函数都可以表示为多项式形式.具体示例如下. ###拟合年龄 import numpy as np import matplotlib.pyplot as p ...

最新文章

  1. 【面试 spring】【第七篇】spring的问题
  2. 用php写shell,php与shell实现多线程的简单例子
  3. MyBatis多对多关联查询示例——MyBatis学习笔记之十八
  4. java代码隐藏面消除算法,java常面的几种排序算法
  5. Theano 编程核心
  6. 图片少量显示 9张一下 类似微信,微博客户端
  7. java官方编译器_JAVA 编译器
  8. java实现简单QQ登录界面
  9. ROS kinetic自定义路径规划算法
  10. JavaScript阿拉伯数字“1“转中文数“一“
  11. DevC++和ege19.01版本图形库的配置安装
  12. 数据分析基础-假设检验原理详解
  13. 矩阵最简行阶梯型计算器_商人懂技术,谁也挡不住——首位将机械计算器推向全世界的人...
  14. [ERROR] InnoDB: Attempted to open a previously opened tablespace
  15. 除法运算符号“/” ——不同形式参数,商的不同
  16. Office 2007的VBA,以及Office开发的随想
  17. 八.deepin V20.6安装mysql8.0.30
  18. STM32系列 STM32F4xx SPI Flash-读写操作
  19. 安徽大学正方教务系统 用JS 一键完成 教师评价
  20. FFmpeg -- 解码视频

热门文章

  1. GDB中应该知道的几个调试方法
  2. Visual Studio 2013开发 mini-filter driver step by step (1) - 创建 mini filter driver 工程
  3. 布道微服务_04服务的注册与发现
  4. MySQL - 索引优化案例实操
  5. Spring4.X系列之Spring JDBC
  6. TCP/IP 协议标准简单描述
  7. matlab 添加环境变量,CentOS 添加环境变量的三种方法
  8. 复习笔记(三)——C++类和对象
  9. z变换公式表_各种钣金折弯极限尺寸计算公式汇总,干货!
  10. SLAM知识[7]:依赖项和安装