位置: IT常识 - 正文

C++ 一种交换两个数的思路(c++交换语句)

编辑:rootadmin
在 Lua 或者 Python 中可以使用多值赋值语句来交换两个数。例如:a, b = b, a。在 C++ 中有没有类似的操作? 先解析一下多值赋值的原理,a, b = b, a 等价于 t1, t2 = b, a a, b = t1, t2 可以看到多值赋值还是用到了中间变量,而且还是两个。想到 ...

推荐整理分享C++ 一种交换两个数的思路(c++交换语句),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:c++交换两个数的值,c++中交换函数,c++中交换两个变量的值,c++交换两个字符串,c++交换两数,c++中交换两个变量的值,c++交换两个变量的值,不能使用中间变量,c++交换两个变量的值,不能使用中间变量,内容如对您有帮助,希望把文章链接给更多的朋友!

在 Lua 或者 Python 中可以使用多值赋值语句来交换两个数。例如:a, b = b, a。在 C++ 中有没有类似的操作?

C++ 一种交换两个数的思路(c++交换语句)

先解析一下多值赋值的原理,a, b = b, a 等价于

t1, t2 = b, aa, b = t1, t2

可以看到多值赋值还是用到了中间变量,而且还是两个。想到两个变量,可以联想到 C++ 中的 std::pair,可以用 std::make_pair(b, a) 构造中间变量,来完成上述第 1 条语句的功能。中间变量是 std::pair 类型。如何将 std::pair 的两个元素赋值给 a 和 b ? 可以利用 std::tie 对 std::pair 进行 unpack。示例代码如下:

#include <iostream>#include <tuple>int main(){ int a = 1, b = 2; std::tie(a, b) = std::make_pair(b, a); std::cout << a << " " << b << std::endl;}

成功输出:

2 1

这种方法也和多值赋值一样可以适用于多个数的交换。例如让 a、b、c、d 四个数左循环交换一次(全部往左边挪一个位置)。示例代码如下:

#include <iostream>#include <tuple>int main(){ int a = 1, b = 2, c = 3, d = 4; std::tie(a, b, c, d) = std::make_tuple(b, c, d, a); std::cout << a << " " << b << " " << c << " " << d << std::endl;}

成功输出:

2 3 4 1
本文链接地址:https://www.jiuchutong.com/zhishi/303173.html 转载请保留说明!

上一篇:如何使用python绘制折线图?(用python绘制)

下一篇:ps打不出字但图层有字(ps打不出字怎么回事)

  • 高新技术生物企业是否可减按15%的税率纳税?
  • 所得税可以弥补几年
  • 消防公司支付劳务费会计处理
  • 事业单位无形资产摊销
  • 外贸企业一般纳税人申报
  • 固定资产的建造成本包括
  • 财务部门使用固定资产的折旧计入管理费用
  • 收到知识产权专用发票
  • 银行给企业的存款怎么存
  • 税控盘上开完发票发的邮件在哪查看
  • 有留抵税额会计分录
  • 专票作废后怎样退税
  • 残疾人可以给公司带来税收优惠吗
  • 高铁票可以要发票吗
  • 小规模减征额哪些项目
  • 个人出租房屋给公司可以开专票吗
  • 银行票据abs付款的几种方式
  • 破产清算应付账款
  • 民办非企业单位和私营单位的区别
  • win10电脑声道怎么设置
  • 如何设定电脑开机密码锁
  • Win11截图工具怎么设置快捷键
  • 公司资产总额怎么算的啊
  • vcpkgsrv.exe是什么进程
  • 车前草的功效与作用及禁忌症
  • 无偿调入固定资产账务处理
  • 系统win7旗舰版
  • PHP:mcrypt_module_is_block_algorithm()的用法_Mcrypt函数
  • linux查看ssh服务开启
  • el-tree方法
  • php运用
  • 资产减值会计处理对利润的影响
  • 公司费用报销包括哪些
  • gpt3 api
  • php对象是什么类型的数据
  • 企业持有待售的固定资产,应当对其预计
  • excel&命令
  • 增值税抵扣进项税额什么意思
  • 公司基本户可以异地开户吗
  • 提取法定盈余公积的公式
  • mysql的innodb引擎支持外键
  • 生产车间发放工资
  • 不符合无形资产摊销条件
  • 不可抵消
  • 商品编码原则是指什么
  • 纳税人识别号是不是税号
  • 什么是一般增值税纳税人
  • 超市的小票能入账吗
  • 不同企业可以开专票吗
  • 应收利息和应收股利属于什么科目
  • 长期股权投资账务处理实例
  • 补提企业所得税后怎么调整未分配利润
  • 出口退税税款账务处理
  • 职工福利费如何计算
  • 分配利润给股东公司需要交税吗
  • 合伙人工资薪金
  • sql数据库分布式部署
  • 开启windows远程桌面服务
  • wind2000
  • mac的虚拟机
  • macos手势
  • macza
  • ubuntu配置vsftpd
  • centos8 redhat
  • centos minio
  • win10ipv4 ipv6无internet访问权限
  • node.js 模块
  • opengl三维场景
  • 进入cmd命令
  • Internet Explorer 8 beta 中文版与IE7共存的解决方法
  • shell脚本进程号
  • 如何控制孩子的手机使用时间
  • android实现简单的计算机界面
  • android:fragment
  • javascript入门基础
  • python语言解析
  • 美国买房hoa
  • 会计做账需要什么凭证
  • 电池涂料消费税问题
  • 中国涉农金融体系包括哪些
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设