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

  • qq怎么解除手机号绑定(QQ怎么解除手机号)

    qq怎么解除手机号绑定(QQ怎么解除手机号)

  • 电脑总是弹出广告怎么办(电脑总是弹出广告和自动安装软件)

    电脑总是弹出广告怎么办(电脑总是弹出广告和自动安装软件)

  • 微信群主退出群聊群还在吗(微信群主退出群聊后会解散群吗)

    微信群主退出群聊群还在吗(微信群主退出群聊后会解散群吗)

  • 华为p20怎么看电池寿命(华为P20怎么看电池实际容量)

    华为p20怎么看电池寿命(华为P20怎么看电池实际容量)

  • 苹果相机怎么连拍照片(苹果相机怎么连续拍摄视频)

    苹果相机怎么连拍照片(苹果相机怎么连续拍摄视频)

  • 微博能查出对方身份吗(微博查出对方手机号软件)

    微博能查出对方身份吗(微博查出对方手机号软件)

  • boss账号被锁定怎么办(boss账号被锁定了怎么注销)

    boss账号被锁定怎么办(boss账号被锁定了怎么注销)

  • 显卡6加8供电怎么插(显卡6加8供电怎么插需不需要插满)

    显卡6加8供电怎么插(显卡6加8供电怎么插需不需要插满)

  • 美团预订单是什么意思(美团预订单什么时候调度骑手)

    美团预订单是什么意思(美团预订单什么时候调度骑手)

  • 华为p30pro右上角有个n图标(华为p30pro右上角时间没有了)

    华为p30pro右上角有个n图标(华为p30pro右上角时间没有了)

  • 用户数据是什么意思(用户数据是啥意思)

    用户数据是什么意思(用户数据是啥意思)

  • 苹果8p摄像头部位发烫(苹果8p手机摄像头)

    苹果8p摄像头部位发烫(苹果8p手机摄像头)

  • mate20可以单独换外屏吗(华为mate20可以更换电池吗)

    mate20可以单独换外屏吗(华为mate20可以更换电池吗)

  • QQ小窗口在哪里打开(qq小窗口在哪里打开聊天)

    QQ小窗口在哪里打开(qq小窗口在哪里打开聊天)

  • qq图片加载不出来怎么办(qq图片加载不出来的样子)

    qq图片加载不出来怎么办(qq图片加载不出来的样子)

  • 小米手机如何开启aptx(小米手机如何开空调)

    小米手机如何开启aptx(小米手机如何开空调)

  • 京东评价为啥京豆收回(京东评价为啥京豆不能用)

    京东评价为啥京豆收回(京东评价为啥京豆不能用)

  • oppok1重启键在哪里(oppo重启键在哪里)

    oppok1重启键在哪里(oppo重启键在哪里)

  • 无需物流怎么修改(无需物流发货怎么办)

    无需物流怎么修改(无需物流发货怎么办)

  • 荣耀v20支持光学防抖吗(荣耀v20光感)

    荣耀v20支持光学防抖吗(荣耀v20光感)

  • iphone11pro max是5G吗

    iphone11pro max是5G吗

  • 手机电耗得快怎么办(手机电量耗太快)

    手机电耗得快怎么办(手机电量耗太快)

  • 笔记本连不到手机热点(笔记本连接不到手机)

    笔记本连不到手机热点(笔记本连接不到手机)

  • 美图秀秀证件照换底色(美图秀秀证件照换衣服)

    美图秀秀证件照换底色(美图秀秀证件照换衣服)

  • 口碑签到在哪里(口碑签到领津贴入口)

    口碑签到在哪里(口碑签到领津贴入口)

  • 怎么共享位置(vivo手机怎么共享位置)

    怎么共享位置(vivo手机怎么共享位置)

  • 个人所得税的账务处理
  • 对方公司已注销如何付款
  • 给离退休人员发的短信
  • 零申报还要抄税吗
  • 高铁票抵扣进项税
  • 职工出差餐费计入什么科目
  • 债务转为股份的协议
  • 税金及附加多计提了汇算清缴怎么办
  • 网上平台服务年费应该计入什么费用?
  • 制造费用结转生产成本金蝶怎么操作
  • 材料含税价怎么算
  • 教育经费税前扣除标准
  • 合作开发项目收益怎么算
  • 预付账款金额过大的原因
  • 增值税税负率高于预警值
  • 营改增后发票报销管理规定是怎样的?
  • 服务外包合同印花税
  • 建筑业简易征收的适用范围
  • 定额发票验旧怎么操作
  • 研发人员工资加计
  • 购进要不要交印花税
  • 金蝶K3打印凭证下的过账和制单怎么新增名字
  • 小规模纳税人发生销售退回如何申报
  • world超链接
  • 企事业承包承租经营所得税税法
  • 我想设置应用
  • 苹果发布macOS13.5开发者预览版
  • 矿产资源补偿费是什么
  • 银行票据贴现业务发展中遇到的困难
  • vite怎么打包
  • 销售下脚料所收的费用
  • 房产土地税计提新规
  • 核定征收开票超过限额
  • 代订机票发票可以入账吗
  • 教你一行代码
  • 以前年度损益调整
  • layui 安卓
  • 前端传给后端
  • 钉钉防止撤回
  • atq命令 显示用户待执行任务列表
  • 汇率一般是以几位数来显示
  • vue文件下载功能
  • 已勾选未确认怎么取消
  • 国际运输代理费属于什么科目
  • 赔偿客户款应该怎么记账
  • 发票跟税有什么关系
  • 银行承兑汇票存在的风险
  • 有限公司也可以向股东核发股票
  • 发票种类8种分别是
  • 改签费可以进项转出吗
  • 微信收款和支付宝收款有啥区别
  • 完全删除sql server2012
  • 房产公司结转成本的会计分录
  • 应付账款长时间不付款怎么处理
  • 产品研发专利
  • 赞助支出为什么纳税调整
  • 机票的电子发票可以报销吗
  • 商业承兑过期后可以退回吗
  • 企业接受非货币性资产投资的入账金额
  • 股东分红算不算成本费用
  • 母子公司之间内部交易形成的坏账可以所得税税前扣除吗
  • 农业合作社成本有哪些
  • 销售免税货物的会计分录
  • 应收帐款 发票
  • 企业经营规模小怎么办
  • 旅游,饮食业会议内容
  • 数据库表的行数
  • 乌班图系统切换root
  • mac系统崩溃怎么重装系统
  • win7系统谷歌浏览器错误代码a00a0017
  • win10怎么打开ie浏览器的兼容模式
  • win8 开机后无法进入系统
  • 个人简历
  • 安卓笔记软件squid使用方法
  • Android游戏开发教程
  • linux命令-s
  • linux与windows
  • unity怎么导入3d模型
  • 成都暖气费补贴
  • 酒店退房不到退房时间
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设