注册 登录
编程论坛 数据结构与算法

请兄长看看我的这个程序咋回事

爱上对方法国 发布于 2010-10-28 11:34, 465 次点击
#include<iostream>
#include<cstdlib>
using namespace std;
struct stacknode{
    int data;
    stacknode *next;
};
struct Linkstack{
    stacknode *top;
};
void initstack(stacknode *p);
void push(stacknode *p,int x);
void display(stacknode *p);
int main()
{
    stacknode *p;
    int i,x,n;
    p=new node;
    initstack(p);
    display(p);
    cout<<"输入你要压入栈中的数据元素个数:"<<endl;
    cin>>n;
    cout<<"依次压入的数据为:"<<endl;
    for(i=0;i<n;i++)
    {
        cin>>x;
        push(p,x);
    }
    display(p);
    return 0;
}
void initstack(stacknode *p)
{
    p->next=NULL;
    cout<<"链栈已经初始化!";
}
void push(stacknode *p,int x)
{
    stacknode *s;
    s=new node;
    s->data=x;
    s->next=p->top;
    p->top=s;
}
void display(stacknode *p)
{
    cout<<"链栈中的数据为:"<<endl;
    stacknode *s;
    s=new node;
    s=p->top;
    while(s!=NULL)
    {
        cout<<s->data;
        s=s->next;
    }
    cout<<endl;
}
   
4 回复
#2
m21wo2010-10-28 13:58
程序代码:
#include<iostream>
#include<cstdlib>
using namespace std;
struct stacknode{
    int data;
    stacknode *next;
    stacknode *top;
};
/*
struct Linkstack{
    stacknode *top;   // 没有必要定义 这个结构
};
*/
void initstack(stacknode *p);
void push(stacknode *p,int x);
void display(stacknode *p);
int main()
{
    stacknode *p;
    int i,x,n;
    p=new stacknode;                 // 没呀node 这个类型,下同
    initstack(p);
    display(p);
    cout<<"输入你要压入栈中的数据元素个数:"<<endl;
    cin>>n;
    cout<<"依次压入的数据为:"<<endl;
    for(i=0;i<n;i++)
    {
        cin>>x;
        push(p,x);
    }
    display(p);
    return 0;
}
void initstack(stacknode *p)
{
    p->top =NULL;                  // 应该把 top 令为 NULL
    cout<<"链栈已经初始化!";
}
void push(stacknode *p,int x)
{
    stacknode *s;
    s=new stacknode;
    s->data=x;
    s->next=p->top;
    p->top=s;

}
void display(stacknode *p)
{
    cout<<"链栈中的数据为:"<<endl;
    stacknode *s;
    s=new stacknode;
    s=p->top;
    while(s!=NULL)
    {
        cout<<s->data<<"\t";
        s=s->next;
    }
    cout<<endl;
}
   
#3
爱上对方法国2010-10-28 16:57
回复 2楼 m21wo
谢啦
#4
爱上对方法国2010-10-28 17:03
谢谢拉;
#5
m21wo2010-10-28 17:21
结贴加分啦呵呵
1