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

  • 华为手机相机打不开是怎么回事(华为手机相机打开后不能拍照)

    华为手机相机打不开是怎么回事(华为手机相机打开后不能拍照)

  • 手机怎样用乐播投屏到电视(手机怎样乐播投屏到电视)

    手机怎样用乐播投屏到电视(手机怎样乐播投屏到电视)

  • 华为手机相机曝光怎么开(华为手机相机曝光在哪里找)

    华为手机相机曝光怎么开(华为手机相机曝光在哪里找)

  • 怎么看8p后盖是不是原装的(苹果8p手机后盖怎么查看是不是正品)

    怎么看8p后盖是不是原装的(苹果8p手机后盖怎么查看是不是正品)

  • 变频压缩机接线方法(变频压缩机接线图)

    变频压缩机接线方法(变频压缩机接线图)

  • 手机电量耗尽充不进电(手机电量耗尽充不上电怎么办)

    手机电量耗尽充不进电(手机电量耗尽充不上电怎么办)

  • 电脑老是重启什么原因(电脑老是重启什么原因呢怎么解决)

    电脑老是重启什么原因(电脑老是重启什么原因呢怎么解决)

  • qq群怎么没有群号(qq群怎么没有群等级)

    qq群怎么没有群号(qq群怎么没有群等级)

  • 微信辅助注册不符合资格是什么原因(微信辅助注册不成功)

    微信辅助注册不符合资格是什么原因(微信辅助注册不成功)

  • 苹果电脑截图按哪三个键(苹果电脑截图按键盘什么键)

    苹果电脑截图按哪三个键(苹果电脑截图按键盘什么键)

  • qq删掉好友对方列表里就没有了吗(qq删掉好友对方聊天列表里还有吗)

    qq删掉好友对方列表里就没有了吗(qq删掉好友对方聊天列表里还有吗)

  • 苹果手机看抖音特别热(苹果手机看抖音微信消息不提醒)

    苹果手机看抖音特别热(苹果手机看抖音微信消息不提醒)

  • 站点管理器的功能(站点管理的基本操作有哪些)

    站点管理器的功能(站点管理的基本操作有哪些)

  • 166开头的是什么号码(166开头的是什么快递)

    166开头的是什么号码(166开头的是什么快递)

  • 安卓手机呼叫转移在哪里设置(安卓手机呼叫转移在哪里)

    安卓手机呼叫转移在哪里设置(安卓手机呼叫转移在哪里)

  • 为什么两个苹果手机同时接到电话(为什么两个苹果手机发短信是绿色的)

    为什么两个苹果手机同时接到电话(为什么两个苹果手机发短信是绿色的)

  • word2007怎么设置脚注(word2007怎么设置第三页为1)

    word2007怎么设置脚注(word2007怎么设置第三页为1)

  • nova5pro卡槽在哪里(nove5pro卡槽在哪)

    nova5pro卡槽在哪里(nove5pro卡槽在哪)

  • iphone11怎么装双卡(iphone11怎样安装双卡)

    iphone11怎么装双卡(iphone11怎样安装双卡)

  • 如何使用excel制表(如何使用excel制作折线图)

    如何使用excel制表(如何使用excel制作折线图)

  • 苹果怎么共享照片(苹果怎么共享照片给华为手机)

    苹果怎么共享照片(苹果怎么共享照片给华为手机)

  • iphone原装耳机叫什么(苹果原装耳机音效怎么样)

    iphone原装耳机叫什么(苹果原装耳机音效怎么样)

  • 手机显示新标记已收集怎去掉(手机显示新标记怎么取消)

    手机显示新标记已收集怎去掉(手机显示新标记怎么取消)

  • 如何在Windows 11上使用多窗口?Win11上使用多窗口教程(如何在Windows 11上卸载更新)

    如何在Windows 11上使用多窗口?Win11上使用多窗口教程(如何在Windows 11上卸载更新)

  • phpcms不能加水印怎么办(php视频加水印)

    phpcms不能加水印怎么办(php视频加水印)

  • 跨年度调整税金及附加
  • 销售软件税目
  • 涉税业务有哪些
  • 增值税需要计入入账价值吗
  • 发票超过认证期限可以红冲重开吗
  • 铸造厂的销售废料有哪些
  • 土地增值税扣除系数
  • 老板投资的钱怎么入账
  • 未分配利润如何使用投入生产
  • 简易计税是否可以开增值税专用发票
  • 零售汽油费发票需要交印花税吗?
  • 审核发票的要素
  • 红字发票信息表是销方还是购方开
  • 开通税种需要带发票吗
  • 一般纳税人既有批发零售又有不动产租赁
  • 公司车辆怎么处理
  • 出口退税两单两票
  • 打车进项可以抵扣吗
  • 文件类型错误请重新选择
  • 什么叫市净率?它有何意义?
  • Linux系统中Squid代理服务器配置全过程解析
  • 电脑qq聊天框变成一侧显示的软件版本
  • 电脑老是弹出广告怎么处理
  • 系统托盘图标禁用
  • php中cookie和session的区别
  • 上月抵扣的发票怎么开
  • 退回已修改是什么意思
  • 销售不动产税目计缴增值税有哪些
  • jquery版本
  • php获取当前访问目录
  • 前端工程搭建
  • datetime2(7)
  • 重置java
  • 一个惊艳了
  • python 数据采集卡
  • 销售费用占销售成本比例
  • 交易性金融资产的账务处理
  • 风险资本生存概率
  • 持有至到期投资属于流动资产吗
  • mongodb 全文索引
  • mongodb怎么导入文件
  • 公司账户转钱到私人账户要扣税吗
  • 联营企业属于关联实体吗
  • sql server更新数据
  • mongodb reactive
  • sql2000管理工具
  • 农产品进项税额抵扣范围
  • 利润表是当月
  • 合伙企业可以退出吗
  • 旧设备出口可以退税吗
  • 什么是外汇业务,外币业务主要内容有哪些
  • 有哪些发票可以报销
  • 公司半年后交五险合法吗
  • 冲销主营业务收入怎么做分录
  • 工地的工人工资怎么入账
  • 出售固定资产已开票未收款账务处理
  • 票据贴现无效如何讨要票据款
  • 开了红字发票申请还要做进项税转出吗?
  • 库存商品主要包括
  • 承兑汇票怎么拿钱
  • 销售成本存在的问题
  • 车辆折旧费法律支持吗
  • 如何关闭windows更新
  • ubuntu下软件
  • macxi
  • centos7如何设置ip
  • window10如何设置访客权限
  • linux文件批处理命令
  • cocos2dx菜鸟教程
  • js随机生成数
  • iframe内容自适应缩放
  • android中的动画有哪几类,它们的特点和区别是什么?
  • linux的ftp命令
  • JavaScript弹出窗口
  • jquery原理解析
  • Python线程进程协程
  • 如何在税务系统缴纳医保
  • 经营租赁属于什么费用
  • 安徽省手工发票
  • 企业所得税优惠事项管理目录2023
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设