我们常说的swap函数到底该怎么使用?
@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函数到底该怎么使用?相关推荐
- 【转】 谈谈C++中的swap函数
1,最通用的模板交换函数模式:创建临时对象,调用对象的赋值操作符. 1 template <class T> void swap ( T& a, T& b ) 2 { 3 ...
- swap函数_【Golang】图解函数调用栈
" 不要小瞧函数调用栈哦,它可是理解参数传递.命名匿名返回值.Function Value.defer等面试常客的关键呐~" 我们按照编程语言的语法定义的函数,会被编译器编译为一堆 ...
- 谈谈C++中的swap函数
1,最通用的模板交换函数模式:创建临时对象,调用对象的赋值操作符. template <class T> void swap ( T& a, T& b ) {T c(a); ...
- c++ <algorithm> swap 函数 reverse 函数 remove 函数
1. swap() swap(a,b) 2. reverse() reverse函数用于反转在[first,last)范围内的顺序,reverse函数没有返回值 例子:交换vector容器中元素的顺序 ...
- 写的函数符号表里没有_你有没有想过,C语言 main 函数到底为啥这么写?
但凡是学过C语言的人,都知道要先写main函数,然而很多时候我们看到的main函数却各有差异,这究竟是为啥?哪种是对的呢?今天我们就来聊聊main函数. 那么main函数一共有多少个版本呢? 1.ma ...
- char怎么比较_C语言的 main 函数到底怎么写才是对的?
相信各位对C语言中的 main 函数大家都再熟悉不过了,这是你学习C语言首先就要学习的东西,但是我看过很多人写的代码包括我的一些读者在main函数的写法方面版本很多,今天就跟大家聊一聊main函数到底 ...
- 从Swap函数谈加法溢出问题
1. 初始题目 面试题:不用额外的变量,实现一个Swap函数,交换两个参数的值(问题1). 这个题目太经典,也太简单,有很多人都会不假思索结出答案: //Code 1 void Swap(i ...
- PHP类中的__get()和__set函数到底有什么用
PHP类中的__get()和__set函数到底有什么用 一.总结 一句话总结:当试图获取一个不可达变量时,类会自动调用__get.同样的,当试图设置一个不可达变量时,类会自动调用__set.在网站中, ...
- 《Effective C++》item25:考虑写出一个不抛异常的swap函数
std::swap()是个很有用的函数,它可以用来交换两个变量的值,包括用户自定义的类型,只要类型支持copying操作,尤其是在STL中使用的很多,例如: int main(int argc, _T ...
最新文章
- 深入理解 Embedding层的本质
- 小乌龟游泳java_乌龟翻身那么痛苦,它们为什么还没有灭绝?
- arcball原理 旋转视图 关键点总结 及代码
- web api json_有关使用JSON Web令牌保护无服务器API的速成班
- 6 PP配置-生产主数据-工作中心相关-工作中心标准值参数
- cv2 python 读取像素点_OpenCV+Python车牌字符分割和识别入门
- html简易登陆注册模板
- 概念数据模型(CDM)
- [分享解决]你的支付授权失败。请核对你的信息并重试,或尝试其他支付方式。请联系你的银行了解更多信息
- vulntarget-a靶场的学习思考
- 电子书PDF文件的压缩实践
- webhook小试水(无需外网服务器)
- 多臂老虎机(Multi-armed Bandit)MAB学习笔记
- 黑客丛林之旅 第十关
- php html 纯文本,php – 使用纯文本回退发送HTML简报
- 官宣:CSDN发放福利!免费使用自定义域名功能一个月!
- GUI界面开发,Swing工具的JFrame开发记事本页面
- Flink系列之Flink 流式编程模式总结
- 女士细线毛衣起多少针_手工编织毛衣各处针数和方法
- 以太坊-EVM第3部分——动态数据类型的表示方法