swap 三种求法
来源:互联网 发布:mysql表拆分 编辑:程序博客网 时间:2024/05/17 02:14
原文地址 http://blog.chinaunix.net/uid-26642637-id-3290611.html
问题描述:
假设有两个整数A=8,B=9 ,现在要交换A和B的值,使得A=9,B=8.
原理分析:方法一:利用一个辅助空间C,然后先将A中的数据放在C中,然后再将B中的数据放到A中,最后再将C中的数据放到A中,这样就可以实现数据的交换了。
C语言代码实现(子函数):
点击(此处)折叠或打开
- void swap1(datatype *a,datatype *b)
- {
- datatype tmp=*a;
- *a=*b;
- *b=tmp;
- }
(注意:这个方法可能会产生溢出)
C语言代码实现:
点击(此处)折叠或打开
- void swap2(datatype *a,datatype *b)
- {
- *a+=*b;
- *b=*a-*b;
- *a-=*b;
- }
可以利用A来存储A异或B的值,然后再将A异或B存到B中,这样就实现了B中存放A原来的数据,然后用同样的方法取出原来B的值存放到A中。
C语言代码实现:
点击(此处)折叠或打开
- void swap3(datatype *a,datatype *b)
- {
- *a^=*b;
- *b^=*a;
- *a^=*b;
- }
0 0
- swap 三种求法
- 三种素数求法
- LCA的三种求法
- 逆序数的三种求法
- swap的三种方式
- swap的三种写法
- swap三种实现方法
- 三阶行列式求法
- 斐波纳挈数列的三种求法(java实现)
- 斐波那契数列的三种求法
- swap函数的三种写法
- swap交换函数的三种实现
- 三序遍历相互求法
- C语言-斐波那契(Fibonacci)数列三种不同求法时间复杂度分析
- 以A/B HDU1576这道题实践逆元的三种求法介绍
- 数列通项的求法(三)
- 三种方法可以对swap 分区进行扩展
- 交换函数swap的三种实现方法
- /usr/bin/ld: i386 architecture of input file `regcomp.o' is incompatible with i386:x86-64 output
- proc 详解
- Linux date命令实现猜测 暨 获得两个月之前的今天 的日期
- 封装和继承
- 【伯乐在线】什么是堆和栈,它们在哪儿?
- swap 三种求法
- json-lib 的maven dependency
- aterisk大量学习资料链接
- iOS --- UIView与CALayer的联系与区别
- 非官方新人参考之quake3入门碎解
- cocosx3.4 建立的工程导入coco ide 1.20无法打包apk的原因
- 下拉框可实现select与input功能的简便做法
- SVN服务器搭建和使用(一)
- noip2004 虫食算 (深搜,倒序枚举+高斯消元解方程组)