不使用第三方变量交换x,y的几种方法:
1. x ^= y; y ^= x; x ^= y;
2. x = x+y; y = x-y; x = x-y;
3. x = x-y; y = y+x; x = y-x;
4. x = y-x; y = y-x; x = x+y;
分析一下:
(1): 对异或不熟悉
(2): 取两值和,然后用和值减去y就等于原来的x,再用和值减去现在的y(原来的x)就等于原来的y
(3): 取两值差(x-y),y加上差值就等于原来的x,现在的y值(原来的x值)再减去差值就等于原来的y
(4): 取两值差(y-x),y减去差值就等于原来的x,现在的y值加上差值就等于原来的x
[color=green]
总述:另一种思路,利用x和y的两值之和或两值之差去实现[/color]
利用oracle sql语句实现分页:
select * from (select t.*,rownum rn from (select * from tablename order by identity_id desc) t where rownum<10000) where rn>9980
1. x ^= y; y ^= x; x ^= y;
2. x = x+y; y = x-y; x = x-y;
3. x = x-y; y = y+x; x = y-x;
4. x = y-x; y = y-x; x = x+y;
分析一下:
(1): 对异或不熟悉
(2): 取两值和,然后用和值减去y就等于原来的x,再用和值减去现在的y(原来的x)就等于原来的y
(3): 取两值差(x-y),y加上差值就等于原来的x,现在的y值(原来的x值)再减去差值就等于原来的y
(4): 取两值差(y-x),y减去差值就等于原来的x,现在的y值加上差值就等于原来的x
[color=green]
总述:另一种思路,利用x和y的两值之和或两值之差去实现[/color]
利用oracle sql语句实现分页:
select * from (select t.*,rownum rn from (select * from tablename order by identity_id desc) t where rownum<10000) where rn>9980