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

  • 2021国庆渐变头像怎么弄

    2021国庆渐变头像怎么弄

  • iphone13后置摄像头像素多少(iphone13后置摄像头什么样)

    iphone13后置摄像头像素多少(iphone13后置摄像头什么样)

  • 小米civi有没有红外(小米civi有没有dc调光)

    小米civi有没有红外(小米civi有没有dc调光)

  • iphone11控制中心如何打开(iphone11控制中心怎么从下往上)

    iphone11控制中心如何打开(iphone11控制中心怎么从下往上)

  • 小米的隐藏应用在哪里(小米的隐藏应用怎么没了)

    小米的隐藏应用在哪里(小米的隐藏应用怎么没了)

  • 小米手机浮屏怎么关闭(小米怎样浮屏)

    小米手机浮屏怎么关闭(小米怎样浮屏)

  • 西瓜视频收益多少才提现(西瓜视频收益多久提现一次)

    西瓜视频收益多少才提现(西瓜视频收益多久提现一次)

  • 电脑如何多选(电脑如何多选照片删除)

    电脑如何多选(电脑如何多选照片删除)

  • 通过微信号查到对方聊天记录(通过微信号查到对方好友)

    通过微信号查到对方聊天记录(通过微信号查到对方好友)

  • 固态硬盘读取速度和写入速度(固态硬盘读取速度3500够用吗)

    固态硬盘读取速度和写入速度(固态硬盘读取速度3500够用吗)

  • qq同城服务在哪里(qq里面的同城服务怎么找)

    qq同城服务在哪里(qq里面的同城服务怎么找)

  • 第三方网站是什么意思(第三方网站有哪些)

    第三方网站是什么意思(第三方网站有哪些)

  • 手机换卡需要关机吗(手机换卡需要关手机吗)

    手机换卡需要关机吗(手机换卡需要关手机吗)

  • 节能器真的可以省电吗(节能器是干什么用的)

    节能器真的可以省电吗(节能器是干什么用的)

  • x30怎么截屏快捷键(vivox30截屏怎么截屏)

    x30怎么截屏快捷键(vivox30截屏怎么截屏)

  • 笔记本关机后鼠标灯还亮是因为什么(笔记本关机后鼠标灯还亮怎么解决)

    笔记本关机后鼠标灯还亮是因为什么(笔记本关机后鼠标灯还亮怎么解决)

  • dell supportassist是什么软件

    dell supportassist是什么软件

  • 微信没反应怎么回事(微信没反应怎么办)

    微信没反应怎么回事(微信没反应怎么办)

  • vivox30屏占比(vivox50屏占比)

    vivox30屏占比(vivox50屏占比)

  • 如何查看自己手机号码(如何查看自己手机电话号码)

    如何查看自己手机号码(如何查看自己手机电话号码)

  • 手机出现安全模式怎么取消(手机出现安全模式怎么解除)

    手机出现安全模式怎么取消(手机出现安全模式怎么解除)

  • 化学试剂的分类(化学试剂的分类及代号、颜色)

    化学试剂的分类(化学试剂的分类及代号、颜色)

  • mq8h2ch a是什么版本(mq8j2ch/a是什么版本多少钱)

    mq8h2ch a是什么版本(mq8j2ch/a是什么版本多少钱)

  • 华为无线扩大器如何设置(华为无线扩大器怎么用)

    华为无线扩大器如何设置(华为无线扩大器怎么用)

  • 【免费】多种方法手把手教你如何将自己做的网页做成网络链接(直接访问)

    【免费】多种方法手把手教你如何将自己做的网页做成网络链接(直接访问)

  • 原材料报废可以退税吗
  • 个体工商户营业执照需要什么材料
  • 高速公路费如何冲抵
  • 政府返还的个税怎么算
  • 存续分立的账务处理
  • 持有待售固定资产为什么不计提折旧
  • 出口没做免税申报怎样补税?
  • 境外增值税代扣代缴
  • 企业之间利息收入怎么做账
  • 工厂采购原材料销售给外贸公司
  • 租房提取的话可以全部提取吗
  • 个税申报与社保申报一定是一致的么
  • 物流公司一般纳税人和小规模纳税人
  • 小规模纳税人季度多少免税
  • 小微企业享受税收优惠个数
  • 以公允价值模式后续计量的投资性房地产无须计提减值
  • 转售水电收入
  • 必要报酬率的计算公式Rm
  • 联想笔记本电脑官网旗舰店
  • 上月暂估入账的原材料的发票已经送到财务部
  • 票据贴现公司需要资质吗
  • 冲减增值税进项税怎么处理
  • 费用票可以抵扣什么税
  • 摊销费用的会计科目
  • 金融企业贷款损失准备金税务管理
  • 抵扣农产品进项税时,也要抵扣运费吗
  • vue前端开发规范
  • css禁用button按钮
  • 想做酒水批发的生意怎么做?
  • 劳务派遣发票会扣税吗
  • 什么公司可以开专票
  • 未担保余值是谁承担
  • 进出口公司如何做账
  • 可视化大屏的几种模式
  • 今日除夕吉时
  • 基于中国国情的中国式现代化具有哪些特色
  • java多线程线程数控制在多少
  • ros机器人自主导航中膨胀地图图层的颜色
  • nslookup命令大全
  • 单一窗口退税数据发送
  • 发票遗失要如何补办
  • 出售固定资产不能作为企业的收入
  • 资产处置损益的定义
  • 所有者投入的资本属于什么会计要素
  • 认缴制下实收资本如何证明
  • mysql触发器菜鸟教程
  • 公司没有收入怎么办
  • 个体工商户还没开业也要报税吗
  • 不需要支付的应付账款
  • 所得税汇算清缴需要调增的项目
  • 资金结存余额在借方还是贷方
  • sql server内存怎么设置合理
  • mysql怎么修改列的类型
  • mac链接其他屏幕
  • win10如何动态桌面
  • linux定时删除2天前的文件输出日志
  • linux系统如何进入终端
  • win7在开始菜单右击
  • 教程:如何在Win10 PC上玩Pokémon Go游戏
  • linux ifconfig命令详解
  • win8.1操作界面
  • windows10直接安装
  • 某网贴出来的u3d面试题目汇总,当时学习下(好多我都不会呢)
  • shell脚本实现自动化巡检报警发送邮箱
  • dos命令/s
  • shell脚本实现同时多台远程主机执行命令的代码分享
  • unity me
  • 应用框架的设计方法
  • jquery设置鼠标样式
  • Node.js中的全局对象有
  • 用dos命令创建用户
  • node js作用
  • 查找阴历日历
  • Jar mismatch! Fix your dependencies
  • jquery操作表单
  • unity火堆
  • 光伏发电备案证如何办理
  • 汽车买保险车船税是什么意思
  • 我国税收征收机关包括
  • 青岛振兴税务师招聘
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设