数据交换的方式

姓名:王怀帅  学号:16040410035

转载自:http://www.jianshu.com/p/7c59750000e9=有修改

【嵌牛导读】:交换数据的方式分为最为普通的方式、更加省内存的方式、对于整数型数据最佳的交换方式

【嵌牛鼻子】:数据交换

【嵌牛提问】:通过什么方法来实现数据交换的种种方式?

【嵌牛正文】:

方式一,最常见的交换方式

实现

public static void swap2(Object[] myArray,int a,int b){

Object temp=myArray[a];

myArray[a]=myArray[b];

myArray[b]=temp;

}

第一种方式是最常用的方式,新建一个变量来进行交换

方式二,相对更加省内存的交换方式

优化起因

我们能不能不用第三个变量,就两个变量进行交换

实现

public static void swap1(int[] myArray, int a, int b) {

if (a!=b) {

myArray[a] = myArray[a] + myArray[b];

myArray[b] = myArray[a] - myArray[b];

myArray[a] = myArray[a] - myArray[b];

}

}

第二种方式,采用了加减的方法

思路过程:a=a+b->b=a+b-b;a=a+b-b

优点

更加的节省内存

缺点

a+b的时候容易产生溢出

很难运用到不是数字的其他类中

方式三,整数型数据最佳的交换方式

实现

public static void swap3(int[] myArray,int a,int b){

if (a!=b) {

myArray[a] = myArray[a] ^ myArray[b];

myArray[b] = myArray[a] ^ myArray[b];

myArray[a] = myArray[a] ^ myArray[b];

}

}

原因

计算机的处理二进制运算符相对比较快

优点

运行效率相对于方式2更佳

缺点

只能用在整型

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,463评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,954评论 18 399
  • 方式一,最常见的交换方式 实现 第一种方式是最常用的方式,新建一个变量来进行交换 方式二,相对更加省内存的交换方式...
    PcDack阅读 3,126评论 0 2
  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 14,351评论 0 33
  • Krishnamurti说意识到嫉妒羡慕的情绪,就让它开花,像一个花蕾一样让它开花。其实我很困惑,我不知道如何去穿...
    by小微阅读 1,417评论 0 0