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

  • 车船税征税范围口诀
  • 进项税额加计抵减5%
  • 两处以上取得工资如何交社保
  • 企业利息收入需要交哪些税
  • 个税代扣代缴手续费返还 申请
  • 支付给个人的佣金费用需要发票吗
  • 支付投资人的投资收益账务处理
  • 2019年工会经费新规定
  • 什么费用可以报销工会经费
  • 建筑行业进项税率一览表
  • 企业接受外部劳务派遣用工支出税前扣除问题
  • 核算科目拨出专票怎么弄
  • 企业所得税汇算清缴补缴税款分录
  • 应交税费消费税分录
  • 产成品返工如何处理
  • 车辆保险费发票的会计分录
  • 电子承兑汇票接收和转出步骤
  • 冲回存货跌价准备计提递延所得税
  • 对方公司倒闭应收账款发票还需要开吗
  • 堤围内的土地性质
  • 农产品一般纳税人免税吗
  • 方案讲解:关于员工激励的税收筹划
  • 印制宣传册
  • 农产品收购抵扣税额可以申请留抵退税
  • 滞纳金由财务人员承担
  • 来料加工需要交税吗
  • 营改增后哪些费用可以抵扣
  • 补交前几年的进项发票
  • win11操作中心怎么关闭
  • 用盈余公积弥补职工福利费是什么类型
  • 腾讯电脑管家游戏模式
  • 变动成本法和完全成本法利润差异
  • 残保金按计提数还是按发放数申报
  • 增值税专用发票丢了怎么补救
  • 房屋及建筑物改造费用
  • regsync.exe - regsync是什么进程 有什么用
  • PHP:Memcached::get()的用法_Memcached类
  • PHP:curl_multi_init()的用法_cURL函数
  • 补缴断交的医保划算吗
  • 艾草的功效与作用洗头
  • node.txt
  • vue切换背景图片
  • 在双方发生纠纷时品牌授权书的法律意义
  • batset命令
  • 卡比托丽娜·瓦西里耶娃
  • 简单的php文件
  • 所得税的季末从哪里算
  • phpcms怎么样
  • mysql分库分表实践
  • 股东向公司借款超过一年不还
  • 企业研发费用资本化相关公司
  • 加班餐费和误餐费的区别
  • 特许权使用费收入按照收到特许权使用费的日期确认收入
  • 销售退回的会计分录全过程
  • 企业进出口总额
  • 永续债的清偿顺序是什么
  • 怎么注册电子邮箱号
  • 差旅费报销单填写模板电子版
  • 新成立的公司哪个地方能查到
  • 职工福利费如何计算
  • 一年不到
  • 车属于固定资产嘛
  • mysql中增删改查语句
  • 联想Thinkpad怎么进入安全模式
  • 苹果电脑怎么锁文件夹
  • linux操作系统的发行版本有哪些
  • linux操作系统版本有哪些
  • win10系统的优化
  • 删除window
  • win7系统耳机设置在哪里
  • Python中lambda的作用
  • js开发组件
  • 使用jquery实现的项目
  • 脚本被删除
  • linux禁止所有用户登录
  • 学习雷锋好榜样
  • 怎样在手机上查询社保缴费情况
  • javascript设置字体
  • javascript制作小程序
  • 土地增值税有哪些税收优惠
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设