社区
工具平台和程序库
帖子详情
如何使用最小内存交换两个变量的值?
mailzyok
2003-11-05 10:05:06
改怎么分析这个问题?
...全文
21
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个变量就可以了
用异或来
交换
两个
变量
能提高速度是错误的
在进行两个
变量
的时候,经常会看到有些书误人子弟的推荐
使用
异或的方式: 方式一 { x = x ^ y; y = x ^ y; x = x ^ y; } 而不是采用临时
变量
实现
交换
: 方式二 { int temp; temp = a; a = b; b = temp; } 美其名曰:节省
内存
,提高运行速度。 临时
变量
交换
的方式:
【EduCoder实训作业】复习-指针基本概念
复习-指针基本概念第1关:通过指针
变量
间接访问
变量
第2关:
交换
两个指针
变量
的
值
第3关:利用指针方法求数组的最大
值
和最小
值
第1关:通过指针
变量
间接访问
变量
任务描述 本关任务:编写程序通过指针
变量
间接访问整型
变量
。 相关知识 为了完成本关任务,你需要掌握: 1.如何定义指针
变量
; 2.掌握两个与指针
变量
有关的运算符。 如何定义指针
变量
指针
变量
指的是定义存放
变量
地址的
变量
,定义指针
变量
如下: int *p1; //p1是指向int型
变量
的指针
变量
float p2; //
变量
值
互换自定义函数swap()的
使用
(Ps:初学者可以学习学习,大神也请不吝赐教) 最近在学习排序的过程中,发现很多排序的程序中都会用到数组元素
值
互换的一小段代码。然后想着直接把元素
值
的互换写成函数以后直接调用即可,当时命名为void change(int * a, int len)。 昨天在学习别人的排序程序时看见了swap()函数,这时候我才进一步知道了这个不是标准库函数却胜似标准库函数的函数(请允许我这样评价
调用函数实现数
值
(
变量
内容)
交换
——指针作为函数的参数
文章目录前言一、理论基础二、解决方法总结 前言 当我们想写一个函数来实现数
值
交换
的时候,很可能会有这样代码: #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; } 但结果呢?不如人意,人家两个
变量
该是什么数还是什么数,怎么会这样呢?别着
JMM(Java
内存
模型)详解
所有线程创建的实例对象都存放在主
内存
中,不管该实例对象是成员
变量
还是方法中的本地
变量
(也称局部
变量
)每个线程都有一个私有的本地
内存
来存储共享
变量
的副本,并且,每个线程只能访问自己的本地
内存
,无法访问其他线程的本地
内存
。本地
内存
是 JMM 抽象出来的一个概念,存储了主
内存
中的共享
变量
副本。线程 A 把本地
内存
中修改过的共享
变量
副本的
值
同步到主
内存
中去。线程 B到主存中读取对应的共享
变量
的
值
。也就是说,JMM 为共享
变量
提供了可见性的保障。
工具平台和程序库
24,860
社区成员
27,341
社区内容
发帖
与我相关
我的任务
工具平台和程序库
C/C++ 工具平台和程序库
复制链接
扫一扫
分享
社区描述
C/C++ 工具平台和程序库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章