是个程序员都知道,在C/C++里面交换值的方法:[cpp] view plaincopyprint?voidswap(int&a,int&b){inttemp;temp=a;a=b;b=temp;}但在JAVA中用这种方法是行不通的,因为“Java对普通类型的变量是不支持引用传递的”。怎么办呢?1....
分类:
编程语言 时间:
2015-02-06 14:35:40
阅读次数:
275
交换两个变量值得方法总结了一下使用中间变量 int n1=11, n2=10;int tmp = n1;n1 = n2;n2 = tmp;Printf("n1=%d,n2=%d", n1, n2);return 0; 加减法int n1 = 11, n2 = 10;n1 = n1 + n2;n2=....
分类:
其他好文 时间:
2015-01-24 21:17:03
阅读次数:
157
交换两个数
正常情况我们需要多申请一个变量来交换两个数的值(假设变量为a, b)。例子如下:
int temp = a;
a = b;
b = temp;
这样子就可以了。但这终究是一种需要申请临时变量的方法,总要去想想临时变量的名字。下面主要介绍两种方法。
直接运算
这种办法简单明了,也是我最喜欢使用的办法,因为即使是浮点型也可以用这种办法,继续假设两个变量...
分类:
编程语言 时间:
2014-12-07 15:07:17
阅读次数:
194
第一种方法:1 int a = 3;2 int b = 5;3 a = a + b;4 b = a - b;5 a = a - b;缺点:a和b是很大的数的话容易溢出。第二种方法:int a = 3;int b = 5;a = a ^ b;b = a ^ b;a = a ^ b;"^"是异或运算,这...
分类:
其他好文 时间:
2014-10-21 21:28:25
阅读次数:
154
在看数据结构导论的时候,你会不会感觉算法有点多,这么多算法什么时候能够记住?如果你这样想就错了。米老师曾说:“记是记不住的。”看的多了也就记住了。当然还有另外一种思考模式,以自己的理解去学习,知其本质,抓住核心。在此对排序这一块做了一个小小的总结:
总结:其实很多时候我们根本不用去记,抓住核心本质转换成自己的理解方式也就记住了,就像是两个数交换,用一个变量作为中转站,依次交换值就...
分类:
其他好文 时间:
2014-09-28 19:07:25
阅读次数:
182
大家都知道,假如有a,b两个整型数,我们可以用
a^=b;
b^=a;
a^=b;
来交换a,b的值,在这里我说说其中的原理:
^ 在 C 里面是按位异或操作符,相同的话异或的结果就是 0,不同的话就是 1。举个例子,比如 a 表示十进制的 5,b 表示十进制的 12,按位异或结果就是:
a = 0101 (5 的二进制表示)
b = 1100 (12 的二进制表...
分类:
其他好文 时间:
2014-09-22 14:10:22
阅读次数:
203
list($a,$b)=array($b,$a);
分类:
Web程序 时间:
2014-09-11 23:38:52
阅读次数:
185
题目:给出一个链表中的两个指针p1和p2,将其之间的结点翻转。思路:可以通过交换结点内的值来实现结点的翻转,空间为O(N);如果要求不能交换值,那么仅凭p1和p2是无法翻转的,只能交换两个指针之间的链表。代码:交换值: 1 struct ListNode 2 { 3 int val; 4 ...
分类:
其他好文 时间:
2014-08-18 23:31:53
阅读次数:
257
使用中间变量 int n1=10, n2=20; int tmp = n1; n1 = n2;
n2 = tmp; Console.WriteLine("n1={0},n2={1}",...
分类:
其他好文 时间:
2014-06-03 16:24:54
阅读次数:
313
如果要交换a、b之间的值,一般的做法是:tmp=a;a=b;b=tmp;这种方法不得不使用一个临时变量。从网上学来一个方法,可以不用使用临时变量:a^=b^=a^=b;这样计算之后,就可以交换a、b值证明:首先:^
是 位运算 的一种: 异或 运算1^1=0;0^0=0;1^0=1;0^1=1;将a...
分类:
其他好文 时间:
2014-05-23 22:07:50
阅读次数:
285