位置: 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%的税率纳税?
  • 加计抵扣10%的进项税 会计处理
  • 小额转款
  • 期初余额有误怎么在本期做调整凭证
  • 通过法院拍卖取得的设备怎么开具发票
  • 待认证进项税期末余额在贷方
  • 城镇土地使用税纳税义务发生时间
  • 2020年企业减免
  • 企业年金如何缴费标准
  • 授予股票期权分录
  • 应交增值税减免税额
  • 应收账款多几分钱怎么处理
  • 计提与不计提短贷的区别
  • 设备折旧后的价值
  • 辅助生产交互分配后的实际费用应在进行分配
  • 一般纳税人按简易计税办法计算增值税,是否能节税?
  • 金税四期上线了吗?
  • 居民委员会有没有纳税人识别号吗
  • 企业用户纳税人识别号不合法
  • 在建工程和工程物资在资产负债表
  • 什么叫净资产收益率
  • 房地产增值税如何抵扣
  • 股利如何算
  • 建筑完税怎么计算
  • 电费预付之后又退回来了
  • 设备器具一次性扣除会计分录
  • win10删除所有内容是什么意思
  • 卸载软件怎么清理干净
  • 企业开票附加税
  • 上月暂估成本高了这个月怎么做账
  • 限定性净资产要算在现金流量表里吗
  • 发票未认证丢失怎么补办
  • yolov5 workers
  • php解压压缩包
  • 企业低值易耗品有哪些
  • 启动电容坏了的表现
  • 一般纳税人简易计税会计分录
  • 邓弗里斯什么水平
  • 增值税代扣代缴税率是多少
  • 加计扣除农产品进项税额是什么意思
  • css选择器nth
  • 无形资产法
  • discuz php版本
  • 2022年最新公务接待用餐标准
  • 怎么查询开具的红字发票
  • 小规模纳税人享受小微企业优惠政策
  • phpcms视频教程
  • 资信证明好开吗
  • 政府会计的会计要素有哪几个?会计要素之间的关系如何?
  • 关于税务机关扣押程序
  • 公司开发新产品时,由管理层任命的
  • 跨年收入退款如何处理
  • 打印银行电子回单有断号
  • 没有收据不开发票
  • 政府补助收入是指
  • 支付上个月运费
  • 小微企业增资
  • 跨年跨月发票账务处理
  • 通行费电子发票抵扣填写到附表二的第几栏次
  • 房租的发票没有收到,账务处理
  • 购买的垃圾袋计入什么科目
  • 生产成本和主营业务收入的关系
  • window扫雷游戏在哪里
  • ulimit命令详解
  • win7 分区表
  • windows 8
  • virtualbox开启虚拟化
  • win10更新已经下载好了能删除吗
  • windows7 无线服务
  • three.js菜鸟教程
  • jquery.min.js源代码
  • go 与 python
  • shell脚本监控进程
  • js全局变量怎么定义
  • mvc使用
  • 四川省国税局
  • 税控设备可以在电子税务局上买吗
  • 已经交完费还可以用医保卡报销吗
  • 东莞国家税务局横沥分局
  • 实木地板什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设