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

  • 员工为公司垫付款项
  • 政府工会经费收入如何做凭证
  • 投资者减除费用和工资薪金减除费用
  • 一般纳税人资格认定条件
  • 个税扣除项生效日期
  • 其他应付款长期挂账如何处理
  • 印花税滞纳金怎么算
  • 减免房产税土地使用税 账务处理
  • 弥补以前年度亏损从哪里取数
  • 如何区分劳务报酬与经营所得
  • 应收分保合同准备材料
  • 加油站的成品油许可证变更过后有什么风险
  • 银联交易手续费
  • 土地使用权出资入股税费
  • 企业购买的原材料确认为资产,这属于会计确认的范畴
  • 合伙制公司有董事会吗
  • 普通发票费用会计分录
  • 调用核心征管失败是什么意思
  • 12366国税网上申报
  • 企业发放防暑降温物品依据
  • 个税免税收入填错了怎么办
  • 收到未抵扣的红字发票
  • 会计费用涉及哪些科目?
  • 使窗口最小化的快捷键
  • 公司的职工教育是指什么
  • 如何让游戏速度加快
  • 发现以前年度多交增值税怎么申报
  • 购入嵌入式软件能一次性扣除吗
  • 公司的房租收入要交税吗
  • 辅助生产成本的分配
  • php阿里云oss
  • 自然保护绘画
  • 提坏账准备的会计分录 2022
  • 小程序uniacid
  • 以银行存款支付业务招待费
  • 有没有网上学电脑的
  • 办公费用的核算方法
  • 股东股权转让是什么意思
  • 折扣和佣金合法的两个条件是什么?
  • 个人所得税申报流程图
  • 在建工程的前期工程
  • 应交税费借方属于什么科目
  • 租赁公司一般都有什么税
  • 厂区地面硬化属于土建还是市政
  • 非公司员工可以报销差旅费吗
  • 金税四期对企业纳税管理影响分析
  • 农副产品收购分录
  • 进项税抵扣销项税算法
  • 短期借款利息的使用账户是
  • 无形资产减值损失计入管理费用
  • 主营业务收入的英文
  • 个人承担的社保算公司的费用吗
  • 会计复式记账法题目
  • 超市购物卡怎么办理
  • sqlserver的sql文件导入mysql
  • 服务器中的ocp卡全称是什么
  • centos 安装chia
  • adobe windows7
  • macbook怎么把通知关掉
  • 怎么更改电脑键盘语言
  • win10系统如何创建家庭组
  • wire软件下载
  • jquery示例
  • jqgrid动态生成表头
  • Android游戏开发教程
  • Quick cocos2dx-Lua(V3.3R1)学习笔记(十三)-----继续触摸事件之多点触摸
  • javascript例题
  • 联机游戏
  • linux bash命令详解
  • unity获取鼠标
  • unity shader cull off
  • python中删除语句
  • 使用驱动器u盘之前需要格式化
  • javascript面向对象编程指南 pdf
  • android view类
  • python dj
  • android 动画特效
  • 高铁票抵扣进项能抵扣吗
  • 福建省国税局官网
  • 辽宁省财政局会计网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设