前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >swap()交换两个变量的方法汇总

swap()交换两个变量的方法汇总

作者头像
sr
发布2018-08-20 10:12:58
5630
发布2018-08-20 10:12:58
举报
文章被收录于专栏:swag codeswag code

借助第三方变量

代码语言:javascript
复制
//借助temp变量
	public static void swap(int arr[],int i,int j) {
		int temp = arr[i];
		   arr[i] = arr[j];
		   arr[j] = temp;
		
	}

数学表达式

代码语言:javascript
复制
public static void swap(int[] arr, int i, int j) {
        arr[i] = arr[i] + arr[j];
        arr[j] = arr[i] - arr[j];
        arr[i] = arr[i] - arr[j];
    }

异或运算

代码语言:javascript
复制
//异或运算-位运算效率高	
      public static void swap(int[] arr, int i, int j) { 
       
         arr[i] = arr[i] ^ arr[j];
         arr[j] = arr[i] ^ arr[j]; //arr[j] = (arr[i] ^ arr[j]) ^ arr[j] = arr[i]
         arr[i] = arr[i] ^ arr[j]; //arr[i] = (arr[i] ^ arr[j]) ^ arr[i] = arr[j]
    }

三种方法推荐:异或运算 Ps: 随机快排时,用 异或运算 交换变量会异常(暂时没有解决)……

(数学理论:一个数异或同一个数两次,结果还是那个数

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-05-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档