| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1330 人关注过本帖
标题:[求助]关于栈操作
只看楼主 加入收藏
zorro2zzz
Rank: 1
等 级:新手上路
威 望:1
帖 子:96
专家分:0
注 册:2005-9-11
收藏
 问题点数:0 回复次数:12 
[求助]关于栈操作
俺是初学者,问一下下面函数能否实现栈s中元素倒置.
algo(Stack S)                     //s非空栈
{
stack T;
int d;
InitStack(T);                       //创建空栈
while(!StackEmpty(S))
{
Pop(S,d);
Push(T,d);
}
while(!StackEmpty(T))
{
Pop(T,d);
Push(S,d);
}
}
如果不行,希望能给出正确的方法(利用T将S中元素倒置).
先谢谢了!
搜索更多相关主题的帖子: 元素 
2005-09-12 19:33
stonefish
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2005-8-25
收藏
得分:0 
不行,因为第一个循环,使T栈的元素是s的元素的倒置,第二个同样的循环,相当于还原了。
我也是初学,不过我估计正确的做法,可以利用队列先进先出的特性,用一个辅助队列

2005-09-13 17:49
zorro2zzz
Rank: 1
等 级:新手上路
威 望:1
帖 子:96
专家分:0
注 册:2005-9-11
收藏
得分:0 
谢谢……

编程是啥东西,让俺瞧瞧……
2005-09-13 20:22
独孤逍遥
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2005-9-25
收藏
得分:0 
呵呵,好主意!

物以方圆 义薄云天 何以载物 四海纵横
2005-09-25 12:37
xiayu84
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2005-9-30
收藏
得分:0 
新手上路说的对~!
我同意~!
哈哈
2005-09-30 08:23
stonefish
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2005-8-25
收藏
得分:0 
这个题可以通过设立两个辅助栈来做,算法如下
algo(Stack S)                     //s非空栈
{
stack T1,T2;
int d;
InitStack(T1);
InitStack(T2);                       //创建空栈
while(!StackEmpty(S))
{
Pop(S,d);
Push(T1,d);
}
while(!StackEmpty(T1))
{
Pop(T1,d);
Push(T2,d);
}
while(!StackEmpty(T2))
{
Pop(T2,d);
Push(S,d);
}
}

2005-10-10 10:42
fire77
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2005-9-19
收藏
得分:0 
楼上的聪明啊~~

2005-10-10 11:31
whaozhe
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2005-10-21
收藏
得分:0 
顶一下6楼的

2005-10-23 20:19
激情依旧
Rank: 1
等 级:新手上路
威 望:2
帖 子:524
专家分:0
注 册:2005-4-4
收藏
得分:0 
algo(Stack S)                     //s非空栈
{
stack T;
int d;
InitStack(T);                       //创建空栈
while(!StackEmpty(S))
{
Pop(S,d);
Push(T,d);//为什么那么麻烦。我在这里出栈S。然后直接入栈T。这样不就逆置了。你们为什么要多一栈。我想不明白
}
}
先说明一下。如果是c语言写的。那你的d就用指针.如果是c++.就可以用指针或引用. 如果就这样传了个d值过去。那是什么都没用传回来的。我是意思就是说将出栈元素的值传回给参数d.

[此贴子已经被作者于2005-10-24 8:41:58编辑过]



生是编程人!!!!死是编程鬼!!!!颠峰人生!!!焚尽编程!!! 爱已严重死机!情必须重新启动!情人已和服务器断开连接!网恋也需要重新拨号!-----激情依旧
2005-10-24 08:03
sky_dragon
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2005-10-26
收藏
得分:0 
他说的是在S中。。。
楼上的曲解了
2005-10-26 11:12
快速回复:[求助]关于栈操作
数据加载中...
 
   



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

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