标题:求大侠帮帮忙忙 ,链式栈的存储空间分配是不是出了问题,,,
只看楼主
蒙奇君杰
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2014-6-24
 问题点数:0 回复次数:0 
求大侠帮帮忙忙 ,链式栈的存储空间分配是不是出了问题,,,
这是一个链式栈,实现十进制数到八进制数的转换,,,,用的是链式栈,数据输入跟结果输出都能实现,就是在结果输出之后的判断栈是否为空这儿有问题。
本人小白一个,想麻烦大侠帮看看,是不是出栈时结点删除这儿出了问题,先谢过了!
#include<iostream>
#include<malloc.h>
using namespace std;
typedef int Elem;
typedef struct node
{
    Elem data;
    struct node *top;
}NodeStack,*Stack;
int main()
{
    bool InitStack(Stack &S);
    bool Push(Stack &S);
    bool OutStack(Stack &S);
    bool EmptyStack(Stack &S);
    Stack s;
    InitStack(s);
    Push(s);
    OutStack(s);
    EmptyStack(s);
    return 0;
}
bool InitStack(Stack &S)
{
    S=(node *)malloc(sizeof(NodeStack));
    S->top=NULL;
    return true;
}
bool Push(Stack &S)
{
    Stack p,q;
    Elem a;
    cout<<"请输入一个您要进行转换的十进制整数:"<<endl;
    cin>>a;
    q=(NodeStack *)malloc(sizeof(NodeStack));
    q->data=a%8;
    S->top=q;
    q->top=NULL;
    q=p;
    while(a)
    {
   
        p=(NodeStack *)malloc(sizeof(NodeStack));
        p->data=a%8;
        a=a/8;
        S->top=p;
        p->top=q;
        q=p;
    }
    cout<<"由您输入的整数的相关数据已成功进栈!"<<endl;
    return true;
}
bool OutStack(Stack &S)
{
    Stack head;
    Elem a;
    head=S->top;
    cout<<"该10进制数转换成的8进制数是:"<<endl;
        if(S!=NULL)
    do
    {
        cout<<head->data;
        head=head->top;//这儿需要做的一个处理是要删除结点吧,可是在这段里加FREE 还是DELETE都不对,,以删除就全给删除完了、、?所以我认为这儿的一个问题就是结点删除不成功。。
    }while(head!=NULL);
/*    while(S->top!=NULL)
    {
   
        a=head->data;
        head=head->top;
        free(head);
        cout<<a;
    }*/
    cout<<endl;
    return true;
}
bool EmptyStack(Stack &S)
{
    if(S->top==NULL)
    {
        cout<<"进链栈的各数据已成功出栈!"<<endl;
        return true;
    }
    else
    {
        cout<<"链栈的各数据出栈操作失败!"<<endl;
        return false;
    }
}
搜索更多相关主题的帖子: include 八进制 十进制 空间 
2014-10-10 16:39



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-437078-1-1.html




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

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