位置: 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打不出字怎么回事)

  • 网站收录决定最终排名有什么(网站收录是啥)

    网站收录决定最终排名有什么(网站收录是啥)

  • 华为nova9怎么隐藏返回键(华为nova9怎么隐藏手机软件)

    华为nova9怎么隐藏返回键(华为nova9怎么隐藏手机软件)

  • 苹果13屏幕旋转怎么设置(苹果13屏幕旋转锁定)

    苹果13屏幕旋转怎么设置(苹果13屏幕旋转锁定)

  • iphonex通话声音小的原因

    iphonex通话声音小的原因

  • 腾讯会议可以关闭摄像头吗(腾讯会议可以关闭别人的摄像头吗)

    腾讯会议可以关闭摄像头吗(腾讯会议可以关闭别人的摄像头吗)

  • 锂电池并联缺陷(锂电池并联方案)

    锂电池并联缺陷(锂电池并联方案)

  • qq举报封号是什么意思(qq举报人封号)

    qq举报封号是什么意思(qq举报人封号)

  • 快手上每日打卡是咋回事(快手上每日打卡是真的吗)

    快手上每日打卡是咋回事(快手上每日打卡是真的吗)

  • 苹果x怎么设置不接听陌生电话(苹果x怎么设置呼叫转移其他号码)

    苹果x怎么设置不接听陌生电话(苹果x怎么设置呼叫转移其他号码)

  • 苹果手机为什么会卡顿现象(苹果手机为什么打不开wifi开关)

    苹果手机为什么会卡顿现象(苹果手机为什么打不开wifi开关)

  • 为什么物联网卡不能机卡分离(为什么物联网卡显示3g网络)

    为什么物联网卡不能机卡分离(为什么物联网卡显示3g网络)

  • 微信号必须绑定手机号才能用吗(微信怎么更换绑定手机号)

    微信号必须绑定手机号才能用吗(微信怎么更换绑定手机号)

  • 苹果手机低温关机怎么解决(苹果手机低温关机后不能开机)

    苹果手机低温关机怎么解决(苹果手机低温关机后不能开机)

  • 华为m6可以装内存卡吗(华为m6可以加内存吗)

    华为m6可以装内存卡吗(华为m6可以加内存吗)

  • wps表格查找功能在哪(wps表格查找功能不出来)

    wps表格查找功能在哪(wps表格查找功能不出来)

  • word页面视图怎么返回(word页面视图怎么放大)

    word页面视图怎么返回(word页面视图怎么放大)

  • 华为有没有游戏模式(华为有没有游戏机)

    华为有没有游戏模式(华为有没有游戏机)

  • 苹果12系统如何截图(苹果12系统如何升级)

    苹果12系统如何截图(苹果12系统如何升级)

  • relme手机是什么(remlme是什么手机)

    relme手机是什么(remlme是什么手机)

  • 小米手机72小时密码怎么关闭(小米手机72小时输一次密码能不能关闭)

    小米手机72小时密码怎么关闭(小米手机72小时输一次密码能不能关闭)

  • qq名字旁边的耳朵是什么(qq名字旁边的耳朵是什么意思)

    qq名字旁边的耳朵是什么(qq名字旁边的耳朵是什么意思)

  • 快手怎么连麦(快手怎么连麦主播)

    快手怎么连麦(快手怎么连麦主播)

  • 已解决ERROR: Could not build wheels for opencv-python-headless, which is required to install pyproject.(打方向咯噔一声已解决)

    已解决ERROR: Could not build wheels for opencv-python-headless, which is required to install pyproject.(打方向咯噔一声已解决)

  • 完美解决el-cascader回显失败问题(完美解决索尼电视arc无声音)

    完美解决el-cascader回显失败问题(完美解决索尼电视arc无声音)

  • 一般纳税人开普票税率是3%还是13%
  • 长期零申报的公司容易注销吗
  • 房产税的计税基础包括契税吗
  • 电动三轮车发票和合格证丢了怎么上牌照
  • 完税证明能作为理赔依据吗
  • 利润是非限定净现值吗
  • 超市卡发票可以抵扣吗
  • 外国人在中国工作签证
  • 商品和服务税收分类编码
  • 专用存款账户需要备案吗
  • 关税的记税依据
  • 建设工程的停工损失包括哪些内容
  • 现金日记账年结模板
  • 无形资产摊销的年限规定
  • 一般纳税人开具3%专票的条件
  • 纳税人开具发票服务卡到期限了怎么办?
  • 进项税额转出需要发票吗
  • 数字证书费
  • 推广费是广告费和业务宣传费吗
  • 不同税率的依据
  • 损益类科目为什么不影响利润
  • 资本公积与股东借款
  • 未取得发票怎么做纳税调增操作
  • 投资款怎么做会计科目
  • 没有销项税进项要交税吗
  • 企业开业装修费用分录
  • 联想昭阳k41笔记本
  • 事业编党费如何核算
  • 进程lsass.exe
  • 一般纳税人辅导期管理办法
  • 耕地使用税的征收标准
  • 自查补缴增值税如何申报
  • 旅游企业会计ppt
  • 注销库存股的会计分录怎么理解
  • 对公打款打错了
  • easyui分页
  • 一个简单安全的小故事
  • vuexy
  • 什么条件可以免于起诉
  • 固定资产转为投资性房地产公允价值
  • 新申报是什么
  • 未达起征点免税额是什么意思
  • 要求供应商赔偿说明函范本
  • 母公司资产包括子公司吗
  • php手机验证码验证
  • sql优化口诀
  • 所得税交多了怎么留抵
  • 出口产品报关单
  • 公司租赁个人车辆租金多少合适
  • 中小型企业应收账款风险管理
  • 待抵扣进项税额和待认证进项税额的区别
  • 回收材料的好处和问题
  • 暂估成本比实际高分录
  • 税控设备全额抵减
  • 物流到付如何做账务处理
  • 安装sql2000sp4提示挂起
  • asp 分页
  • Linux(Ubuntu)下mysql5.7.17安装配置方法图文教程
  • 怎么删除文件的隐藏属性
  • igs文件是什么文件
  • 让windows10蓝屏
  • win7共享文件权限设置
  • windows7没有声音怎么调
  • macbookair直接合上
  • win8.1安装应用商店
  • linuxdhcp服务器管理与配置
  • win10系统激活后怎么关闭
  • css中的单位主要有哪些
  • url跟uri
  • es6 new set()
  • Python的flask框架教程
  • jquery的方法有哪些
  • js变量作用域
  • javascript的核心组成部分
  • 甘肃国家税务局官网app
  • 充值卡和预付卡区别
  • 车船使用税电子税务局
  • 免抵税额在增值税申报表附表
  • 国家重大水利工程建设基金征收标准
  • pcie3.0*4接口
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设