社区
工具平台和程序库
帖子详情
如何使用最小内存交换两个变量的值?
mailzyok
2003-11-05 10:05:06
改怎么分析这个问题?
...全文
45
3
打赏
收藏
如何使用最小内存交换两个变量的值?
改怎么分析这个问题?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
limd
2003-11-06
打赏
举报
回复
呵呵,异或好像也可以
a=a^b
b=a^b
a=a^b
memphis
2003-11-06
打赏
举报
回复
楼主学什么的???
a=a+b
b=a-b
a=a-b
ameba
2003-11-05
打赏
举报
回复
比如说有两个变量a和b.假设a和b各占2个字节.用最小内存交换两个变量的值的话,最小值肯定是2个字节(也就是两个变量占的内存大小).如果不行的话就加一个内存变量(变成3字节).但实际上2个变量就可以了
游戏筑基之
两个
变量
交换
值
与三个
变量
交换
值
的比较(C语言)
三个
变量
进行
值
交换
通常情况下,三个
变量
进行
值
交换
是比较容易的,场景如: 输入a 的
值
为5,b的
值
为15。要求:
交换
两数的
值
,使得a的
值
为15,b的
值
为5。 示例: int a = 5, b = 15; if (a < b) { int temp = a; a = b; b = temp; } 此时a、b从
内存
中读出和读入各两次。虽然定义临时
变量
temp,但是编译器对其进行优化,性能高,耗时相对于
内存
读出和读入较小。
用异或来
交换
两个
变量
能提高速度是错误的
在进行
两个
变量
的时候,经常会看到有些书误人子弟的推荐
使用
异或的方式: 方式一 { x = x ^ y; y = x ^ y; x = x ^ y; } 而不是采用临时
变量
实现
交换
: 方式二 { int temp; temp = a; a = b; b = temp; } 美其名曰:节省
内存
,提高运行速度。 临时
变量
交换
的方式:
变量
值
互换自定义函数swap()的
使用
(Ps:初学者可以学习学习,大神也请不吝赐教) 最近在学习排序的过程中,发现很多排序的程序中都会用到数组元素
值
互换的一小段代码。然后想着直接把元素
值
的互换写成函数以后直接调用即可,当时命名为void change(int * a, int len)。 昨天在学习别人的排序程序时看见了swap()函数,这时候我才进一步知道了这个不是标准库函数却胜似标准库函数的函数(请允许我这样评价
python-
变量
声明、数据类型、标识符
为什么需要
变量
呢?一个程序就是一个世界,不论
使用
哪种高级程序语言编写代码,
变量
都是其程序的基本组成单位。如下图所示的sum和sub都是
变量
。
变量
相当于
内存
中一个数据存储空间的表示,可以将
变量
看作是一个房间的门牌号,通过门牌号能找到房间;通过
变量
名可以访问到
变量
的
值
。声明
变量
或定义
变量
变量
赋
值
变量
使用
变量
表示
内存
中的一个存储区域,该区域有自己的
变量
名和数据类型。//定义
变量
var n int//赋
值
变量
n = 10//
使用
变量
。
调用函数实现数
值
(
变量
内容)
交换
——指针作为函数的参数
文章目录前言一、理论基础二、解决方法总结 前言 当我们想写一个函数来实现数
值
交换
的时候,很可能会有这样代码: #include <stdio.h> void swap(int x, int y) { int t = x; x = y; y = t; } int main() { int a=3, b=5; swap(a, b); printf("%d %d", a, b); return 0; } 但结果呢?不如人意,人家
两个
变量
该是什么数还是什么数,怎么会这样呢?别着
工具平台和程序库
24,853
社区成员
27,330
社区内容
发帖
与我相关
我的任务
工具平台和程序库
C/C++ 工具平台和程序库
复制链接
扫一扫
分享
社区描述
C/C++ 工具平台和程序库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章