| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1371 人关注过本帖
标题:不用第三变量交换两数探讨
只看楼主 加入收藏
forice
Rank: 1
等 级:新手上路
帖 子:50
专家分:0
注 册:2005-8-25
收藏
 问题点数:0 回复次数:4 
不用第三变量交换两数探讨
a,和b两数,不用第三变量.交换两数,
谭浩强那本书上有个例子是
a=a^b;
b=b^a;
a=a^b;
想请问一下这个程序有什么缺点?

另一种方法是
push a; a进栈
push b; b进栈
pop a; 怎么a可以出栈?a不是比a先进栈吗?
pop b;
这种方法不解,哪位请教一下,THX。

另还有其它的一些方法,大家可以讨论。

[此贴子已经被作者于2006-10-24 14:56:32编辑过]

搜索更多相关主题的帖子: 变量 谭浩强 push pop 探讨 
2006-10-24 14:50
stnlcd
Rank: 1
等 级:新手上路
帖 子:177
专家分:1
注 册:2004-11-21
收藏
得分:0 
pop a 是指将栈顶的元素输出到a中。
不是将a出栈

要让一个男人破产,请给他一架相机,要让一个男人倾家荡产,请给他一架望远镜。
2006-10-24 15:09
forice
Rank: 1
等 级:新手上路
帖 子:50
专家分:0
注 册:2005-8-25
收藏
得分:0 

那能不能写成:
push a;
push b;
pop b;
pop a;
2006-10-24 15:45
longerhe
Rank: 1
等 级:新手上路
帖 子:120
专家分:0
注 册:2006-10-10
收藏
得分:0 
那不就没有交换a,b了?
2006-10-24 15:52
stnlcd
Rank: 1
等 级:新手上路
帖 子:177
专家分:1
注 册:2004-11-21
收藏
得分:0 
不能写成:
push a;
push b;
pop b;
pop a;的形式
楼主翻下数据结构方面的书,上面都会介绍堆栈的知识,读一下,了解一下堆栈的性质。
事实上,几乎100%的程序都不会用到楼主所提到的交换方法,最常见的也是最好的方法就是定义临时变量交换的方法。
把它当作问题来讨论实在是没什么实际意义

[此贴子已经被作者于2006-10-24 16:26:52编辑过]


要让一个男人破产,请给他一架相机,要让一个男人倾家荡产,请给他一架望远镜。
2006-10-24 16:26
快速回复:不用第三变量交换两数探讨
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.057352 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved