用Java交换两个元素的swap函数
来源:互联网 发布:电视盒子桌面软件 编辑:程序博客网 时间:2024/05/17 08:08
我在一项目中要用到 大量的元素交换,于是必须写一个交换两个元素的swap函数,众所周知,Java中的基本元素是不支持传址的,必须是对象或数组才能传址(引用),我开始也走了很多弯路,开始用自带的Integer包装类,发现不行。
后来自己封装了一个类能成功交换了。
class intObject
{
int value;
intObject(){}
intObject(int pV){
value=pV;
}
public void setValue(int pV){
value=pV;
}
public int getValue(){
return value;
}
};
public class Swap
{
public static void swap(intObject a,intObject b){
int temp;
temp=a.value;
a.setValue(b.getValue());
b.setValue(temp);
}
public static void main(String[] args)
{
intObject a=new intObject(3),
b=new intObject(5);
swap(a,b);
System.out.println(a.value);
System.out.println(b.value);
}
}
5
3
后来又想用数组试试看:
public class Swap
{
public static void swap(int[] a,int[] b){
a[0]^=b[0];
b[0]^=a[0];
a[0]^=b[0];
}
public static void main(String[] args)
{
int a[]={3},b[]={5};
System.out.println("before swap:");
System.out.print(""+a[0]+'/t');
System.out.println(b[0]);
swap(a,b);
System.out.print(""+a[0]+'/t');
System.out.println(b[0]);
}
}
before swap:
3 5
5 3
呵呵,也行
但要注意一点的是,在代码中调用后须把交换后的值赋回去,例如:
.....
int a[]={pA[j]},
b[]={pA[j+1]};
swap(a,b);
pA[j]=a[0];
pA[j+1]=b[0];
......
可能这样还不如直接在代码中写交换代码简洁,但这里只说明这样一种方法
- 用Java交换两个元素的swap函数
- 交换两个数的swap()函数
- 交换单链表中相邻的两个元素 Swap Nodes in Pairs
- 交换两个变量的值的swap函数
- 自己实现swap()函数交换两个数的值
- 交换两个值函数swap()实现小结
- swap()交换函数的用法
- 用函数交换两个引用指向的对象--java
- 数组元素交换 swap
- swap-交换两个数
- swap() 交换两个数
- swap交换两个变量
- 几种交换两个数函数(swap函数)的写法和解析
- 两个元素内容的交换
- 交换两个变量值(swap()函数)的几种方法
- 交换两个数的函数int swap(int &a,int &b)
- swap交换函数的三种实现
- 用函数实现两个数的交换
- HTTP协议的几个重要概念
- VS.Net C# 调用 Active 组件
- JVM启动过程
- 再来一首
- C运行时库
- 用Java交换两个元素的swap函数
- 详解extern "C"
- 《滨崎步》刹那-Moments
- 2006年个人总结
- Ubuntu下永中Office2007的安装
- 售前人员需要具备的素质
- java 基本概念名词一览
- 无懈可击 中岛美嘉
- LCC编译器的源程序分析(1)C编译器的目标