java交换两个数的数值
来源:互联网 发布:未登录uc淘宝手机助手 编辑:程序博客网 时间:2024/06/04 18:37
开始学习算法,遇到两个数的交换问题的时候,出现了一些问题,我各种都交换不了。
是的。我就是想写个全排列
void Perm(int[] array,int start,int end){
if(start == end){ //只有一个元素需要排序
for(int i=0;i<=end;i++){
System.out.print(array[i] +" ");
}
System.out.println() ;
}else{ //还有多余的数
for(int i=0;i<=end;i++){
Num num = new Num(array[start],array[i]) ;
Swap(num) ; //交换两个数
Perm(array,start+1,end) ;
Swap(num) ; // 交换回来
}
}
}
由于java传递数据的时候是数值传递的
我的第一种方法: ========================
//交换数据
public static void Swap(int a,int b){
int temp ;
temp = a ;
a = b ;
b = a ;
}
然后我包装成了类===================
class Num{
public int a,b ;
public Num(int a,int b){
this.a = a ;
this.b = b ;
}
}
public static void Swap(Num p){
int temp ;
temp = p.a ;
p.a = p.b ;
p.b = temp ;
}
Num num = new Num(array[start],array[i]) ;
Swap(num) ;
发现还是交换不了,我开始有些慌乱,到底什么问题,于是我又换方法,
static void Swap(int[] a){
int temp ;
temp = a[0] ;
a[0] = a[1];
a[1] = temp ;
}
果然还是需要用到数组的。
是的。我就是想写个全排列
void Perm(int[] array,int start,int end){
if(start == end){ //只有一个元素需要排序
for(int i=0;i<=end;i++){
System.out.print(array[i] +" ");
}
System.out.println() ;
}else{ //还有多余的数
for(int i=0;i<=end;i++){
Num num = new Num(array[start],array[i]) ;
Swap(num) ; //交换两个数
Perm(array,start+1,end) ;
Swap(num) ; // 交换回来
}
}
}
由于java传递数据的时候是数值传递的
我的第一种方法: ========================
//交换数据
public static void Swap(int a,int b){
int temp ;
temp = a ;
a = b ;
b = a ;
}
然后我包装成了类===================
class Num{
public int a,b ;
public Num(int a,int b){
this.a = a ;
this.b = b ;
}
}
public static void Swap(Num p){
int temp ;
temp = p.a ;
p.a = p.b ;
p.b = temp ;
}
Num num = new Num(array[start],array[i]) ;
Swap(num) ;
发现还是交换不了,我开始有些慌乱,到底什么问题,于是我又换方法,
static void Swap(int[] a){
int temp ;
temp = a[0] ;
a[0] = a[1];
a[1] = temp ;
}
果然还是需要用到数组的。
0 0
- java交换两个数的数值
- Java交换两个数
- Java快速交换两个数的值
- java 两个数值交换的6种方法
- 两个数的交换
- 两个数的交换
- 两个数的交换
- 两个数的交换
- 判断两个数值中最大的一个以及不用中间变量交换两个数
- java两个数进行交换
- java交换两个数 & 细说"^交换"
- 两个数在不使用中间变量的情况下,交换数值的方法汇总.
- 简单的交换两个变量的数值
- 不定义中间变量的情况下,实现两个数交换数值
- 把两个变量交换数值的方法
- 交换两个数值的几种方法
- swift交换两个变量的数值方法
- java数值交换的技巧
- 第3周项目3:输出星号图(4)
- Object-C 之 可变参数
- shiro权限验证标签
- 第三周项目四-百钱买百鸡
- 我的惯性错误
- java交换两个数的数值
- 第3周项目4-穷举法解决组合问题(百钱白鸡问题)
- 【C++】new和delete运算符
- 随CAD加载Arx和dll
- 每年每月多少天
- 关于SQL连接语句中的Integrated Security=SSPI/ture/false
- 今天开始做项目了
- 第3周项目3:输出星号图(5)
- Android---07---打电话和发短信打电话和发短信更新版