| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1963 人关注过本帖
标题:关于怎样销毁顺序栈【请求支援!支援!】
只看楼主 加入收藏
hzz063
Rank: 3Rank: 3
来 自:横县百合
等 级:论坛游侠
帖 子:80
专家分:114
注 册:2010-1-27
结帖率:100%
收藏
 问题点数:0 回复次数:2 
关于怎样销毁顺序栈【请求支援!支援!】
顺序栈(类似数组实现的)
我刚开始是用销毁链式栈(类似链表)的方法:
程序代码:
/////// 销毁栈  s /////////////
void destroystack(SQSTACK *s)
{
    if( s->top != s->base )
    while( --s->top != s->base )
    {
        free( s->top );
    }
    free( s->base ); 
    return;
}
我以为他会一个一个往下销毁,
可是到 free( s->top );就出错了。
后来我就改为了;
程序代码:
/////// 销毁栈  s /////////////
void destroystack(SQSTACK *s)
{

 
    free(s->base);
   
    return;
}

这样他貌似得了。运行没什么问题。
是不是这样就得了呢?我不太明白。
个人理解 是不是释放栈底,又因为他是连续储存的,所以一释放栈底他就把整个栈都释放完?
这样理解正确吗?谢了。


[ 本帖最后由 hzz063 于 2010-3-31 12:00 编辑 ]
搜索更多相关主题的帖子: 请求 支援 顺序 
2010-03-31 11:49
地狱无明火
Rank: 2
等 级:论坛游民
帖 子:62
专家分:71
注 册:2009-6-11
收藏
得分:0 
能看看全篇吗
不知道s->top和s->base是用作存放位置还是存放值
2010-03-31 14:00
hzz063
Rank: 3Rank: 3
来 自:横县百合
等 级:论坛游侠
帖 子:80
专家分:114
注 册:2010-1-27
收藏
得分:0 
是放地址,就是分别指向栈顶和栈底

一切只因为喜欢。
2010-03-31 14:40
快速回复:关于怎样销毁顺序栈【请求支援!支援!】
数据加载中...
 
   



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

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