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

  • 海南增值税发票图片
  • 去税局更正申报需要什么资料,忘记带营业执照
  • 印花税的账目处理
  • 小规模定额征收是怎样
  • 投标保证金利息计算起止时间
  • 利润表季度怎么填写
  • 工会经费计税
  • 一张发票开不足一台设备的金额怎么办
  • 半成品委托加工费计入成本还是费用
  • 进口代收业务
  • 销售折扣购货方的会计分录
  • 运输过程中货物丢失
  • 工程材料增值税专用发票税率
  • 收了款未开票凭证如何做
  • 不能抵扣的进项税怎么做账
  • 手撕票验旧是什么意思
  • 老项目简易征收可以用进项抵扣吗
  • 开具发票时,哪些备注事项需要被重视?
  • 劳务费个人还需要交税吗
  • 车辆购置税退税条件
  • 机票改签费要开发票吗
  • 工资不用交税还用上报么
  • 小规模纳税人缴税计算
  • 未分配利润清算如何处理
  • 成本计算错误如何应对
  • 委托贷款利息收入需要缴纳增值税么
  • 客户收集软件
  • php unit
  • 公司劳务费收入涉及哪些税
  • 键盘突然打不出来字
  • 诺曼底作战
  • 买房增值税征收标准
  • 递延所得税资产和负债怎么理解
  • 报销的费用计入什么科目
  • 激光点图片
  • 中世纪城门
  • 前端 组件化
  • php进行批量任务分类
  • 个人独资企业如何做账
  • 简易计税结转账务处理
  • 百度地图定位不更新
  • 回扣,折扣和佣金都具有违法性对吗
  • 财政补助结转和财政补助结余
  • wordpress怎么添加图片
  • 结转材料成本差异所需科目
  • 建设工程的材料质量检测由谁负责
  • 存货减值税前可抵扣吗
  • 新办公司实收资本怎么算
  • 年底计提坏账收回一部分怎么处理
  • 资本公积和盈余公积是什么意思
  • 用人单位性质怎么填
  • 老板自己出钱买办公用品怎么做账
  • 利润表研发费用和管理费用
  • 结汇是把外币换成人民币吗
  • 生活垃圾处理费标准
  • 企业积分是什么意思
  • 财务报表项目认定有哪些
  • 如何设置固定资产的部门对应这就
  • linux中man的用法
  • mac 设置
  • linux常用命令chown
  • win7 便签
  • win10缺少文件怎么办
  • [置顶] 《翻身称霸》
  • [置顶] 关于UNITY5.0和高通AR4.2.3在手机上白屏的问题
  • jquery插件库怎么导入
  • egret引擎基础入门
  • Node.js中的construct
  • 计算字符串的长度使用哪个函数?
  • js跳出if语句
  • jquery动态添加的元素怎么添加事件
  • 全面解析A型天秤座男
  • linearlayout布局怎么设置
  • 用python语言编写
  • 原生js实现ajax步骤
  • JavaScript中的NaN代表什么
  • 什么叫关联单位
  • 税务非正常户要提交什么资料
  • 如何挑选烟叶等级
  • 成都城市建设规划管理局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设