交换算法的实现
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了交换算法的实现,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1356字,纯文字阅读大概需要2分钟。
内容图文
![交换算法的实现](/upload/InfoBanner/zyjiaocheng/1319/f2d50e25900b4549b8a71476932fb41b.jpg)
数据的交换是编程中最常用的一种算法,比如排序算法就是利用交换算法实现数字排序,基本上对数据的处理都和数据的交换有着千丝万缕的联系,哪我们今天就来学学在C语言中有哪些交换算法
在写代码前,先看一下数据交换是如何实现的
如:a=10 b=100 变成 a=100 b=10的实现过程
交换前:
引进中间变量temp
temp = a
a = b
b = temp
程序代码:
#include <stdio.h> int main() { int a = 10; int b = 100; int temp;//引进中间变量 printf("交换前:a=%d b=%d\n",a,b); temp = a; a = b; b = temp; printf("交换后:a=%d b=%d\n",a,b); return 0; }
执行结果:
方法二:加减法
a = a + b
b = a - b
a = a - b
程序代码:
#include <stdio.h> int main() { int a = 10; int b = 100; printf("交换前:a=%d b=%d\n",a,b); a = a + b; b = a - b; a = a - b; printf("交换后:a=%d b=%d\n",a,b); return 0; }
执行结果:
方法三:乘除法
a = a * b
b = a / b
a = a / b
程序代码:
#include <stdio.h>
int main()
{
int a = 10;
int b = 100;
printf("交换前:a=%d b=%d\n",a,b);
a = a * b;
b = a / b;
a = a / b;
printf("交换后:a=%d b=%d\n",a,b);
return 0;
}
执行结果:
方法四:利用位运算符中的异或运算符
a = a ^ b
b = a ^ b
a = a ^ b
程序代码:
#include <stdio.h>
int main()
{
int a = 10;
int b = 100;
printf("交换前:a=%d b=%d\n",a,b);
a = a ^ b;
b = a ^ b;
a = a ^ b;
printf("交换后:a=%d b=%d\n",a,b);
return 0;
}
执行结果:
方法五:函数法
程序代码:
#include <stdio.h> void f(int *p,int *q) { int temp; temp = *p; *p = *q; *q = temp; } int main() { int a = 10; int b = 100; printf("交换前:a=%d b=%d\n",a,b); f(&a,&b); printf("交换后:a=%d b=%d\n",a,b); return 0; }
执行结果:
原文:http://blog.csdn.net/u010105970/article/details/18455325
内容总结
以上是互联网集市为您收集整理的交换算法的实现全部内容,希望文章能够帮你解决交换算法的实现所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。