交换连个对象的值(C/C++?JAVA)
如何交换两个变量的值:
C语言中的传值代码如下:
int change(int x,int y)
{
int temp=x;
x=y;
y=temp;
}
C语言中的传址代码如下:
int change(int *p,int *q)
{
int temp=*p;
*p=*q;
*q=temp;
}
使用C++中的引用类型代码如下:
int change(int &x,int &y)
{
int temp=x;
x=y;
y=temp;
}
JAVA中代码同上;
上述代码共同点是都是使用的额外变量temp;如何不使用额外变量完成两个数的交换呢?
int change(int x,int y)
{
x=x+y;
y=x-y;
x=x-y;
}
例如:x=3,y=4
第一步:x=x+y=3+4=7;
第二步:y=x-y=7-4=3;
第三步: x=x-y=7-3=4;
如粗完成了连个数的交换,并且每有使用额外的空间.
相关文档:
TestRef.java
import java.lang.reflect.Method;
import java.lang.reflect.InvocationTargetException;
/**
* Created by IntelliJ IDEA.
* File: TestRef.java
* User: String
* Date: 2010-3-29 14:48:44 ......
本文介绍Java读取xml文件的四种方法。
xml文件:
Xml代码
<?xml version="1.0" encoding="GB2312"?>
<RESULT>
<VALUE>
<NO>A1234</NO>
<ADDR>河南省郑州市</ADDR>
</VALUE>
<VALUE>
< ......
Xml代码 \n 回车(\u000a) \t 水平制表符(\u0009) \b 空格(\u0008) \r 换行(\u000d) \f 换页(\u000c) \' 单引号(\u0027) \" 双引号(\u0022) \\ 反斜杠(\u005c) \ddd 三位八进制 ......
一直以来,java对于我都是新事物,对于新事物的接受方式也一直习惯从浅入深,循序渐进。
但是今天,张孝详老师给我们上了生动的一课,一个程序员最重要的能力就是学习能力,因为
计算机领域的技术其更新超快,目前所掌握的知识很有可能短时间内会被淘汰,而且会出现更好
更简洁的语言,那么该怎么去掌握呢。张老师认为, ......
1.有n个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数。
#include<stdio.h>
int f(int *);
int main()
{
int *p,a[10];
for(p=a;p<a+10;p++)
scanf("%d",p);
f(a);
for(p=a;p<a+10;p++)
printf("%d ",*p);
return 0;
}
int f(int *a)
{
int i,*p ......