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

  • 解说微博营销六大价值(微博营销博主)

    解说微博营销六大价值(微博营销博主)

  • 台式机网卡驱动异常怎么修复(台式机网卡)(台式机网卡驱动装不上)

    台式机网卡驱动异常怎么修复(台式机网卡)(台式机网卡驱动装不上)

  • 华为sos紧急求助会给110发信息吗(华为sos紧急求助怎么触发)

    华为sos紧急求助会给110发信息吗(华为sos紧急求助怎么触发)

  • vivox21a像素是多少(vivo x21像素)

    vivox21a像素是多少(vivo x21像素)

  • 华为oxf-an00是什么型号(华为ofx an00是什么型号)

    华为oxf-an00是什么型号(华为ofx an00是什么型号)

  • 电脑没有麦克风可以用耳机代替吗(电脑没有麦克风能说话吗)

    电脑没有麦克风可以用耳机代替吗(电脑没有麦克风能说话吗)

  • vsd是什么格式的文件(vsdx是什么格式)

    vsd是什么格式的文件(vsdx是什么格式)

  • edate函数什么意思(edate函数的作用)

    edate函数什么意思(edate函数的作用)

  • 物联网设备主要有哪些(物联网设备具有哪些特点)

    物联网设备主要有哪些(物联网设备具有哪些特点)

  • aka-al10什么型号(aka--al10)

    aka-al10什么型号(aka--al10)

  • 电脑画面卡住发出噪音(电脑画面卡住发出dedede声音)

    电脑画面卡住发出噪音(电脑画面卡住发出dedede声音)

  • 美图手机卡顿怎么解决(美图手机特别卡)

    美图手机卡顿怎么解决(美图手机特别卡)

  • 抖音第二遍发间隔多久(抖音发第二遍需要把第一个删掉吗)

    抖音第二遍发间隔多久(抖音发第二遍需要把第一个删掉吗)

  • 小红书一直闪退怎么回事(小红书一直闪退打不开)

    小红书一直闪退怎么回事(小红书一直闪退打不开)

  • 苹果序号开头代表什么(苹果开头序列号含义)

    苹果序号开头代表什么(苹果开头序列号含义)

  • vivo双引擎闪充多少w(vivo双引擎闪充什么意思)

    vivo双引擎闪充多少w(vivo双引擎闪充什么意思)

  • 抖音怎么做商品橱窗(抖音怎么做商品推广)

    抖音怎么做商品橱窗(抖音怎么做商品推广)

  • iphonex怎么看热点连接(苹果手机热度在哪看)

    iphonex怎么看热点连接(苹果手机热度在哪看)

  • 荣耀电脑怎么下载软件(荣耀电脑怎么下载软件到桌面)

    荣耀电脑怎么下载软件(荣耀电脑怎么下载软件到桌面)

  • 如何下载微信聊天记录(如何下载微信聊天图片)

    如何下载微信聊天记录(如何下载微信聊天图片)

  • iwatch怎么看几代(iwatch怎么看几代型号大小)

    iwatch怎么看几代(iwatch怎么看几代型号大小)

  • 信而富当前无法购物(信而富打不开了怎么办)

    信而富当前无法购物(信而富打不开了怎么办)

  • apple pencil一代和二代的区别(apple pencil一代和二代笔尖一样吗)

    apple pencil一代和二代的区别(apple pencil一代和二代笔尖一样吗)

  • vivox27耳机型号(vivo手机x27耳机是什么样)

    vivox27耳机型号(vivo手机x27耳机是什么样)

  • 打开微信才能收到消息怎么办(打开微信才能收到微信视频)

    打开微信才能收到消息怎么办(打开微信才能收到微信视频)

  • 西瓜视频如何提现(西瓜视频如何提取视频)

    西瓜视频如何提现(西瓜视频如何提取视频)

  • rtos.exe - rtos是什么进程 有什么用(rtos有什么用)

    rtos.exe - rtos是什么进程 有什么用(rtos有什么用)

  • Vue之model属性(vue中v-model)

    Vue之model属性(vue中v-model)

  • 【GPT4】微软 GPT-4 测试报告(1)总体介绍(微软 gcr)

    【GPT4】微软 GPT-4 测试报告(1)总体介绍(微软 gcr)

  • 网络贷款需要交钱吗
  • 销售不动产税率9%还是5%
  • 建筑安装增值税纳税地点
  • 技术维护费计入哪里
  • 企业付的快递费是扣增值税还是进入费用扣除
  • 累计折旧计入
  • 土地增值税计税依据
  • 摊销折旧是什么意思
  • 补充医疗保险应享尽享方案
  • 将自产的产品用于对外投资
  • 公司买车赠与员工
  • 出售股份的印花税怎么做分录?
  • 增值税代开扣款怎么报税?
  • 境内货代公司之间付美金
  • 委托加工分装农药的委托人应当取得相应的
  • 增值税专用发票电子版
  • 补偿金满一年不满一年半
  • 外币应收账款汇兑损失计入
  • 初始投资成本与可辨认净资产公允价值
  • 销售商品包安装如何确认收入
  • win11怎么设置最佳能效模式
  • 输入法自定义按键位置
  • 事业单位财政补助收入会计分录
  • 当月收到服务成本票下个月才开出发票
  • php调用sql
  • 公司过户费用怎么入账
  • 固定资产一次性扣除后第二年账务处理
  • 费用分摊的分录
  • 公司没有营业额零报税的后果
  • 股票发行费用怎么算
  • php静态缓存
  • react 入门
  • e命令怎么用
  • 怎么买好空调
  • 个人劳务费需交什么税种
  • 当月勾选认证可以在下月抵扣吗
  • 正规现金收款收据怎么写
  • 三代手续费企业所得税
  • sql server 2008 R2安装
  • 增值税年底抵扣
  • 直接人工成本包括五险一金吗
  • 印花税征税范围及税率
  • 控股子公司破产清算 母公司账务处理
  • 开具定额发票应如何做账?
  • 房地产企业 预缴
  • 酒店客房收入如何分配
  • 当月进项税额大但是也要交增值税吗
  • 监控 固定资产
  • 退回资金怎么做账
  • 冲回上年度费用分录
  • 研发部门房租计入研发费吗
  • 债权资产包括哪些科目内容
  • 子公司利润母公司还有其他方式吗
  • MySQL Semisynchronous Replication介绍
  • appcrash是什么文件
  • 在幻灯片母版中
  • ghost安装出错
  • windows共享文件夹端口号
  • gnaupdaemon.exe是什么
  • 如何限制网速不让孩子玩游戏
  • 2007皖价服
  • win7 windows安全中心
  • win7无法保存对权限所作的更改
  • linux计划任务如何设置
  • windows蓝牙被禁用
  • linux shell $1
  • qt widget opengl
  • jquery插件大全
  • Node.js中的事件循环是什么
  • 用javascript写表单代码
  • linux使用文本编辑器
  • jquery示例
  • wordpress教程
  • js会话
  • android开发模式
  • js的调用函数
  • jquerycuishifeng
  • 不用税控盘可以勾选发票吗
  • 个人外汇收入申报
  • 分公司的总公司
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设