@ac不知深

简述

对于初学者来说交换函数肯定是避免不了的
最简单也是最直接的方法是,定义一个临时变量temp,从而完成a与b的交换
(此时规定int a,b;int temp;)

{temp=a;a=b;b=temp;
}

正文

当然对于刚刚入门C语言中的学习者来说,这样是最好理解,也是最好记忆的一种。
但是我们学习写代码更多数的时候是需要满足实际的运用,比如代码量的时间空间效率等等(此处应该不会涉及那么复杂的问题)。
所以我们可以再使用C++程序的一个swap函数。这个函数需要在建立C++的文件目录下,如下图:

后缀为.cpp文件。
如果是初学者头文件建议使用#include <bits/stdc++.h>这个万能头文件。这里包含了常用的一些库(最初写一些acm题很是喜欢),减少了记忆头文件的麻烦。
网上我看了其他人的答案,有说是在#include < algorithm >,也有说是在#include < iostream >,我更倾向于在using namespace std的std标准名词空间里。

这里先埋个坑。如果有想深度了解的同学评论告诉我,我单独写一个讨论。

以上介绍完,我们可以直接来看看如何使用swap函数。继承以上的例子,a,b可以直接写成:

swap(a,b)

运行看看有没有交换


a,b两个参数是已经交换了。

我们常说的swap函数到底该怎么使用?相关推荐

  1. 【转】 谈谈C++中的swap函数

    1,最通用的模板交换函数模式:创建临时对象,调用对象的赋值操作符. 1 template <class T> void swap ( T& a, T& b ) 2 { 3 ...

  2. swap函数_【Golang】图解函数调用栈

    " 不要小瞧函数调用栈哦,它可是理解参数传递.命名匿名返回值.Function Value.defer等面试常客的关键呐~" 我们按照编程语言的语法定义的函数,会被编译器编译为一堆 ...

  3. 谈谈C++中的swap函数

    1,最通用的模板交换函数模式:创建临时对象,调用对象的赋值操作符. template <class T> void swap ( T& a, T& b ) {T c(a); ...

  4. c++ <algorithm> swap 函数 reverse 函数 remove 函数

    1. swap() swap(a,b) 2. reverse() reverse函数用于反转在[first,last)范围内的顺序,reverse函数没有返回值 例子:交换vector容器中元素的顺序 ...

  5. 写的函数符号表里没有_你有没有想过,C语言 main 函数到底为啥这么写?

    但凡是学过C语言的人,都知道要先写main函数,然而很多时候我们看到的main函数却各有差异,这究竟是为啥?哪种是对的呢?今天我们就来聊聊main函数. 那么main函数一共有多少个版本呢? 1.ma ...

  6. char怎么比较_C语言的 main 函数到底怎么写才是对的?

    相信各位对C语言中的 main 函数大家都再熟悉不过了,这是你学习C语言首先就要学习的东西,但是我看过很多人写的代码包括我的一些读者在main函数的写法方面版本很多,今天就跟大家聊一聊main函数到底 ...

  7. 从Swap函数谈加法溢出问题

    1.      初始题目 面试题:不用额外的变量,实现一个Swap函数,交换两个参数的值(问题1). 这个题目太经典,也太简单,有很多人都会不假思索结出答案: //Code 1 void Swap(i ...

  8. PHP类中的__get()和__set函数到底有什么用

    PHP类中的__get()和__set函数到底有什么用 一.总结 一句话总结:当试图获取一个不可达变量时,类会自动调用__get.同样的,当试图设置一个不可达变量时,类会自动调用__set.在网站中, ...

  9. 《Effective C++》item25:考虑写出一个不抛异常的swap函数

    std::swap()是个很有用的函数,它可以用来交换两个变量的值,包括用户自定义的类型,只要类型支持copying操作,尤其是在STL中使用的很多,例如: int main(int argc, _T ...

最新文章

  1. 深入理解 Embedding层的本质
  2. 小乌龟游泳java_乌龟翻身那么痛苦,它们为什么还没有灭绝?
  3. arcball原理 旋转视图 关键点总结 及代码
  4. web api json_有关使用JSON Web令牌保护无服务器API的速成班
  5. 6 PP配置-生产主数据-工作中心相关-工作中心标准值参数
  6. cv2 python 读取像素点_OpenCV+Python车牌字符分割和识别入门
  7. html简易登陆注册模板
  8. 概念数据模型(CDM)
  9. [分享解决]你的支付授权失败。请核对你的信息并重试,或尝试其他支付方式。请联系你的银行了解更多信息
  10. vulntarget-a靶场的学习思考
  11. 电子书PDF文件的压缩实践
  12. webhook小试水(无需外网服务器)
  13. 多臂老虎机(Multi-armed Bandit)MAB学习笔记
  14. 黑客丛林之旅 第十关
  15. php html 纯文本,php – 使用纯文本回退发送HTML简报
  16. 官宣:CSDN发放福利!免费使用自定义域名功能一个月!
  17. GUI界面开发,Swing工具的JFrame开发记事本页面
  18. Flink系列之Flink 流式编程模式总结
  19. 女士细线毛衣起多少针_手工编织毛衣各处针数和方法
  20. 以太坊-EVM第3部分——动态数据类型的表示方法

热门文章

  1. 关于微信PC版内置浏览器和IOS11以下系统打开页面白屏的问题
  2. html css javascript仿京东购物商城网站 web前端制作服装购物商城 html电商购物网站
  3. 照片的分辨率可以改吗?怎么改照片分辨率大小?
  4. H5页面开发的touchmove事件
  5. stm32 3种低功耗模式
  6. Oracle19c 创建表空间
  7. FITC-Dextran 荧光素异硫氰酸酯-葡聚糖,FITC-葡聚糖
  8. mysql 删除表数据但不删除表结构SQL语句
  9. html5页面跳转方式,H5页面跳转的交互设计方法
  10. access和filemaker_在FileMaker中识别名片和图片文字