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

  • 钉钉如何扫码进群(钉钉如何扫码进群二维码)

    钉钉如何扫码进群(钉钉如何扫码进群二维码)

  • 苹果手机26键中文输入法怎么设置(苹果手机26键中文输入法没了怎么弄)

    苹果手机26键中文输入法怎么设置(苹果手机26键中文输入法没了怎么弄)

  • 华为mate30pro无法开机的原因(华为mate30pro无法快充怎么办)

    华为mate30pro无法开机的原因(华为mate30pro无法快充怎么办)

  • 如何定时关机(Win10如何定时关机)

    如何定时关机(Win10如何定时关机)

  • 笔记本序列号在哪里看(笔记本 序列号)

    笔记本序列号在哪里看(笔记本 序列号)

  • 企业微信为什么不能登录,只能注册(企业微信为什么加不了好友)

    企业微信为什么不能登录,只能注册(企业微信为什么加不了好友)

  • 怎么将两段音乐合并(怎么将两段音乐合成一段)

    怎么将两段音乐合并(怎么将两段音乐合成一段)

  • 华为多屏协同不用华为电脑可以吗(华为多屏协同不能开热点)

    华为多屏协同不用华为电脑可以吗(华为多屏协同不能开热点)

  • ipad总共有几代产品(ipad共有几代及先后顺序)

    ipad总共有几代产品(ipad共有几代及先后顺序)

  • 调制解调器可以共享吗(调制解调器可以将光电信号相互转换吗)

    调制解调器可以共享吗(调制解调器可以将光电信号相互转换吗)

  • 微信怎么打开黑暗模式(微信怎么打开黑色背景)

    微信怎么打开黑暗模式(微信怎么打开黑色背景)

  • 苹果手机怎么让电池更耐用(苹果手机怎么让别人电话打不进来)

    苹果手机怎么让电池更耐用(苹果手机怎么让别人电话打不进来)

  • 抖音删除作品有影响吗(抖音删除作品有记录吗)

    抖音删除作品有影响吗(抖音删除作品有记录吗)

  • 第三方应用都有哪些(第三方应用有必要开icloud备份吗)

    第三方应用都有哪些(第三方应用有必要开icloud备份吗)

  • 微信运动35000步有多远(微信步数36000)

    微信运动35000步有多远(微信步数36000)

  • 探探不充钱不能配对吗(探探不充钱不能查看谁喜欢了你吗?)

    探探不充钱不能配对吗(探探不充钱不能查看谁喜欢了你吗?)

  • 苹果手机怎么补电(苹果手机怎么补开发票)

    苹果手机怎么补电(苹果手机怎么补开发票)

  • 跨幻灯片和自动的区别(跨幻灯片放映怎么设置)

    跨幻灯片和自动的区别(跨幻灯片放映怎么设置)

  • 国二评分标准(国二多少分算优秀)

    国二评分标准(国二多少分算优秀)

  • 短视频app应该怎么开发(短视频app应该怎么选择)

    短视频app应该怎么开发(短视频app应该怎么选择)

  • 京东自营店如何退货(京东自营店如何查看营业执照)

    京东自营店如何退货(京东自营店如何查看营业执照)

  • xp系统IE浏览器打开新页面显示空白怎么办?(系统浏览器)

    xp系统IE浏览器打开新页面显示空白怎么办?(系统浏览器)

  • python和netlogo软件模拟病毒传播仿真模型(一)(net python)

    python和netlogo软件模拟病毒传播仿真模型(一)(net python)

  • 【Node.js+koa--后端管理系统】设计动态发布、修改、查询、删除接口(nodejs hook)

    【Node.js+koa--后端管理系统】设计动态发布、修改、查询、删除接口(nodejs hook)

  • 个体工商户核定征收
  • 北京增值税发票网上申领流程
  • 契税的具体适用税率是多少
  • 上一会计年度什么意思
  • 季报现金流量表是必报表吗
  • 设备租赁合同需要审核吗
  • 用自产货物用抵债交换是否视同销售
  • 企业政策性搬迁损失的所得税处理
  • 支票承兑是什么意思要带什么材料
  • 库存商品期末要结转吗
  • 支付的运输费用可以扣除吗
  • 农场管委会是什么性质单位
  • 印花税是按照含税收入乘以印花税税率吗
  • 季节工有工伤吗
  • 减免所得税额明细表
  • 合同开票金额一定等于合同额吗
  • 简述房地产开发企业设立的特殊规定
  • 企业所得税季报人数怎么填
  • 升级华为鸿蒙系统怎么样
  • 预收款项的减少
  • 赡养人 被赡养人
  • php中??
  • 给客户赠送的礼物叫什么
  • linux基本命令有哪些
  • php中split
  • 生产型企业出口退税会计分录
  • 换股的具体方式是什么
  • 嵌入式软件开票税负是1%还是3%
  • 酒店客房收入怎么算
  • php底层原理
  • 计算机视觉opencv 有什么项目
  • php web socket
  • 废品损失科目的账户结构
  • 工会经费计提比例是2%还是0.8%
  • 长期股权投资内部交易抵消
  • 企业接受投资者投资,投资者超额缴入的资本
  • 工程完工补付工程款会计分录
  • 同花顺电脑版怎么看财务报表
  • 公司债券属于负债吗
  • 购货发票属于是什么凭证
  • sh sqlplus
  • 小额转账汇款服务最多转账多少钱
  • 小规模纳税人计税销售额为不含税销售额
  • 买入返售金融资产属于金融资产吗
  • 贴现利息的计算公式为
  • 印花税的通俗理解
  • 应交税费会计核算
  • 公司开发的app费用怎么算
  • 收不到物业费不想干了
  • 现金流量结构分析表
  • 私人企业会计工作内容
  • 债务重组的方式主要包括哪些
  • xp系统找不到指定的路径怎么办
  • microsoft window vista
  • 格式化不干净
  • 在操作系统中如何创建一个新的用户
  • win8.1应用商店无法连接
  • linux中比较文件链接数的变化
  • linux备份恢复
  • mysqld是什么进程
  • Nehe第六章纹理映射
  • Shell正则表达式获取指定字符串
  • html td 合并
  • python写一个备份文件功能
  • Eclipse引入jdk1.8
  • nodejs 异步io底层原理
  • 推荐表情图片
  • 排序方法python
  • 配置命令提示符怎么打开
  • js dom操作方法
  • html5videojs
  • 工程咨询服务税需要每月缴纳吗
  • 工程开具增值税专用发票
  • 如何理解改革创新是时代要求
  • 荆州市税务局现任名单
  • 怎样查税务师事务所信息
  • 税务局人员调动
  • 拆迁补偿的房子是什么性质
  • 平板电脑购物
  • 加工中心钻孔进给
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设