【算法】如何不用中间变量交换两个数据?

news2024/9/28 17:35:31

创作不易,本篇文章如果帮助到了你,还请点赞 关注支持一下♡>𖥦<)!!
主页专栏有更多知识,如有疑问欢迎大家指正讨论,共同进步!
更多算法分析与设计知识专栏:算法分析🔥
给大家跳段街舞感谢支持!ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ

在这里插入图片描述


目录

  • 一、+ - -
  • 二、^

一、+ - -

使用+-完成交换:

    a = a + b;	//a = a + b组合
    b = a - b;	//b = 组合 - b = 原始a
    a = a - b;	//a = 组合值 - 原始a = b

首先,通过加法将两个变量的值组合在一起,

然后减去b来获得a的原始值,将原始的a值赋值给b

最后再减去新b就能获取到b的原始值,将原始的b赋给a,此时a和b就完成了交换

同理乘除等运算也可以

注意数据相加可能溢出

二、^

使用异或^进行交换:

	a = a^b;
	b = a^b;
	a = a^b;	

异或:相同为0,不同为1

  • 第一步:将a和b的异或结果赋给a
  • 第二步:将结果与b异或可以得到原来的a,赋给b
  • 第三步:将结果与原来的a异或得到原来的b,赋给a,完成交换

在这里插入图片描述

注意:异或交换数据时两个数据不可以相同!

	if(a == b)return;
	a^=b;
	b^=a;
	a^=b;	

在这里插入图片描述

大家的点赞、收藏、关注将是我更新的最大动力! 欢迎留言或私信建议或问题。
大家的支持和反馈对我来说意义重大,我会继续不断努力提供有价值的内容!如果本文哪里有错误的地方还请大家多多指出(●'◡'●)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1386896.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Radzen Blazor Studio 脚手架框架解读

背景 组织管理管理准备使用Blazor这个工具实现&#xff0c;因为其有对应的 scaffold 脚手架&#xff0c;先构建数据库&#xff0c;然后通过向导&#xff0c;生成CRUD以及对应的接口&#xff0c;那么有必要看一下&#xff0c;其内部的代码结构是什么样的。 结构 接口层 有两类…

【RTOS】快速体验FreeRTOS所有常用API(2)任务管理

目录 二、任务管理2.1 任务创建&#xff08;三种方式&#xff09;1&#xff09;动态内存分配方式创建任务2&#xff09;静态内存分配方式创建任务3&#xff09;带有任务参数方式创建任务 2.2 任务删除2.3 两种delay 二、任务管理 该部分在上份代码基础上修改得来&#xff0c;代…

t2vec code

文章目录 数据预处理执行过程训练执行过程preprocess.jl 解释h5 文件结构 数据预处理执行过程 (base) zzqserver1:~/project/t2vec/preprocessing$ julia porto2h5.jl Processing 1710660 trips… 100000 200000 300000 400000 500000 600000 700000 800000 900000 1000000 11…

Halcon轮廓的处理

Halcon轮廓的处理 文章目录 Halcon轮廓的处理1. 轮廓分割2. 轮廓的筛选3. 轮廓的连接4. 轮廓的拟合 输出了目标的轮廓后&#xff0c;接下来还需要对轮廓进行处理&#xff0c;这主要基于以下3个原因。 &#xff08;1&#xff09;对于某些测量任务而言&#xff0c;并不需要分析目…

ArkTS中自定义组件

ArkTS中自定义组件 一、组件位置二、Hello.ets自定义组件自定义组件 三、Second.ets父组件 一、组件位置 一个项目下所有的自定义的组件名不可以重复&#xff0c;无论是否在一个ets文件中 二、Hello.ets自定义组件 自定义组件 1&#xff1a;组件必须使用Component装饰 2&#…

最新智能AI系统ChatGPT网站程序源码+详细图文搭建部署教程,Midjourney绘画,GPT语音对话+ChatFile文档对话总结+DALL-E3文生图

一、前言 SparkAi创作系统是基于ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统&#xff0c;支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美&#xff0c;可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署AI创作Ch…

Spring Boot接口请求响应慢,超过10秒以上,如无法优化SQL或代码的情况下,建议写入数据库或缓存中,请求接口时从数据库或缓存中读取返回

举例 Override public Map<String, Object> getCockpitStaffAttendanceTask() {Map<String, Object> map new HashMap<>();int chuqin 0; //出勤int queqin 0; //缺勤int chidao 0; //迟到int zaotui 0; //早退//获取所有设备卡号 并且已经绑定了人Lis…

Redis之bigkey

目录 1、什么是bigkey&#xff1f; 2、bigkey大的小 3、bigkey有哪些危害&#xff1f; 4、bigkey如何产生&#xff1f; 5、bigkey如何发现&#xff1f; 6、bigkey如何删除&#xff1f; 7、BigKey调优&#xff0c;惰性释放lazyfree 8、生产上限制keys * /flushdb/flushal…

python爬虫之线程与多进程知识点记录

一、线程 1、概念 线程 在一个进程的内部&#xff0c;要同时干多件事&#xff0c;就需要同时运行多个“子任务”&#xff0c;我们把进程内的这些“子任务”叫做线程 是操作系统能够进行运算调度的最小单位。它被包含在进程之中&#xff0c;是进程中的实际运作单位。一条线程指…

统计学-R语言-4.1

文章目录 前言编写R函数图形的控制和布局par函数layout函数 练习 前言 安装完R软件之后就可以对其进行代码的编写了。 编写R函数 如果对数据分析有些特殊需要&#xff0c;已有的R包或函数不能满足&#xff0c;可以在R中编写自己的函数。函数的定义格式如下所示&#xff1a; …

DFT新手入门:VASPKIT生成模版INCAR

新手学习VASP计算时一般需要自行准备好VASP所需要的四个输入文件:INCAR POSCAR KPOINTS POTCAR。 其中POSCAR为计算任务的模型文件&#xff0c;POTCAR为与POSCAR中元素所对应的赝势&#xff0c;可根据要求选取。 KPOINTS的设置需要根据精度确定&#xff0c;一般通过vaspkit的1…

鸿蒙开发OpenHarmony组件复用案例

概述 在开发应用时&#xff0c;有些场景下的自定义组件具有相同的组件布局结构&#xff0c;仅有状态变量等承载数据的差异。这样的组件缓存起来&#xff0c;需要使用到该组件时直接复用&#xff0c; 减少重复创建和渲染的时间&#xff0c;从而提高应用页面的加载速度和响应速度…

Win10专业版系统搭建DNS解析服务

Win10专业版 纯新手&#xff0c;也没弄过Linux的。不喜勿喷&#xff0c;有问题请指出 第一天一头雾水整了几个小时没结果&#xff0c;第二天豁然开朗&#xff0c;10分钟明白了第一天的问题所在。 Win10 安卓&#xff1a; iOS&#xff1a; 搭建DNS服务器的意义&#xff1a; 屏蔽…

【Axure高保真原型】移入放大对应区域的饼图

今天和大家分享移入放大对应扇形区域的饼图的原型模板&#xff0c;鼠标移入时&#xff0c;对应扇形区域的会放大&#xff0c;并且的项目和数据弹窗&#xff0c;弹窗可以跟随鼠标移动。这个原型是用Axure原生元件制作的&#xff0c;所以不需要联网或者调用外部图表……具体效果可…

2024年烟花爆竹储存证考试题库及烟花爆竹储存试题解析

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2024年烟花爆竹储存证考试题库及烟花爆竹储存试题解析是安全生产模拟考试一点通结合&#xff08;安监局&#xff09;特种作业人员操作证考试大纲和&#xff08;质检局&#xff09;特种设备作业人员上岗证考试大纲随机…

多示例学习 (multi-instance learning, MIL) 学习路线 (归类、重点文章列举、持续更新)

文章目录 0 要点 0 要点 说明&#xff1a;本文在于能够让大家能够更加快速地了解MIL这个领域&#xff0c;因此将从以下几个方面重点介绍MIL&#xff1a; MIL背景介绍&#xff1b;理论MIL概述&#xff1a; 注意力网络&#xff1b;对比学习&#xff1b;介入学习&#xff1b;强化…

sylar高性能服务器-日志(P15-P20)内容记录

以下内容是sylar高性能服务器视频的简单记录&#xff0c;如果你在调试代码时遇到了困难那么下面内容会有帮助。 文章目录 p15&#xff1a;配置变更事件一、函数二、结果展示 p16&#xff1a;日志系统的整合1一、函数二、小结 p17-18&#xff1a;日志系统的整合2、3一、函数二、…

网络命令行工具nc的使用复习

之前写过nc的博文&#xff1b;下面复习一下&#xff1b; 可以把nc放到C:\Windows\System32下&#xff1b; nc -l -p 9007&#xff0c;-l 是监听模式&#xff0c;-p指定端口&#xff0c;作为服务端监听9007端口&#xff1b; nc 127.0.0.1 9007&#xff0c;作为客户端去连接指定…

基于算术电路的全同态加密方案介绍

基于算术电路的全同态加密方案介绍 摘 要&#xff1a; 云计算技术目前已经发展得相对成熟&#xff0c;应用也逐步得到普及&#xff0c;它所具有的强大的数据处理能力&#xff0c;能够帮助个体用户计算复杂的数据。但它带来便利的同时&#xff0c;也催生了一系列用户隐私数据保…