变量交换的几种算法(算术运算、指针操作、 位运算)
来源:互联网 发布:四旋翼控制算法stm32 编辑:程序博客网 时间:2024/06/05 03:44
学习程序语言和程序设计的时候,交换两变量的值是经常用到的。以下总结了几种交换变量的方式。
标准算法:定义中间变量交换
int a,b,t; a=10; b=15; t=a; a=b; b=t;
算术运算:
int a,b; a=10;b=12; a=b-a; //a=2;b=12 b=b-a; //a=2;b=10 a=b+a; //a=12;b=10
指针操作:实际上进行的是整数运算
int *a,*b; a=new int(10); //给指针赋值 b=new int(20); //a=0x00030828,b=0x00030840 a=(int*)(b-a); //a=0x00000006 b=(int*)(b-int(a)); //b=0x00030828 a=(int*)(b+int(a)); //a=0x00030840
注:只有第一句是两个指针之间的计算,其他都是指针和整数的计算,否则会导致计算错误,严重导致系统出错。
位运算:
int a=10,b=12; //a=1010^b=1100; a=a^b; //a=0110^b=1100; b=a^b; //a=0110^b=1010; a=a^b; //a=1100=12;b=1010;
从上面可以看出,数学中的小技巧对程序设计而言具有相当的影响力,运用得当会有意想不到的神奇效果。而从实际的软件开发看,标准算法无疑是最好的,能够解决任意类型的交换问题。
- 变量交换的几种算法(算术运算、指针操作、 位运算)
- 1)算术运算;2)指针地址操作;3)位运算 不使用第三方变量交换两个变量的值
- 指针的算术运算
- 指针的算术运算
- 指针的算术运算
- 指针的算术运算
- 指针的算术运算
- 指针的算术运算
- 指针的算术运算
- 指针的算术运算
- 指针的算术运算
- 位运算之两个变量的交换
- 1. 指针的算术运算
- 指针的算术运算(1) 加减运算
- java实现位运算交换两个变量的值
- 位运算---不用额外变量交换两个整数的值
- 位运算的异或来交换变量
- C指针解析 ------ 指针的算术运算
- 病理特征:Caused by: org.hibernate.HibernateException: cannot simultaneously fetch multiple bags,
- 被称为世上最经典的25句话
- 直接调用类成员函数地址
- 细微的用法
- 人生的十二种财富
- 变量交换的几种算法(算术运算、指针操作、 位运算)
- javascript小练习
- Automation Body of Knowledge (ABOK)--测试自动化知识体系
- 用jasperreports在applet中实现打印功能开发总结
- 电影播放器mplayer设置常用选项
- C/C++语言void及void指针深层探索
- Radius rfc2865 中文翻译
- WINCE DEBUGZONE
- WINCE DEBUGZONE