【请c++高手帮我看下程序】为什么会报错,定会感激不尽…… 【问题补充,附带原题】

[复制链接]
查看11 | 回复2 | 2011-4-18 16:44:33 | 显示全部楼层 |阅读模式
#include
using namespace std;
template//T为虚拟类型
struct node
{
T d;
node *next;
};
//定义带链栈类
template//模板声明,数据元素虚拟类型为T
class linked_Stack //带链栈类
{
private:
//数据成员
node * top; //带链栈的栈顶指针
public:
//成员函数
linked_Stack(); //构造函数,建立空栈,即栈初始化
void prt_linked_Stack(); //顺序输出带链栈中的元素
int flag_linked_Stack(); //检测带链栈的状态
void ins_linked_Stack(T); //入栈
T del_linked_Stack();//退栈
T read_linked_Stack();//读栈顶元素
};
//带链栈初始化
template
linked_Stack::linked_Stack()
{
//栈顶指针为空
top=NULL;
return;
}
//顺序输出栈中的元素
template
void linked_Stack::prt_linked_Stack()
{
///////////////////////////////////////////此处是要求填的。
if(top==NULL)
{
coutdnext;
}
}
}
//检测带链栈的状态
template
int linked_Stack::flag_linked_Stack()
{
//若带链栈为空,则函数返回0,正常函数返回1
if(top==NULL)
return(0);
return(1);
}
//入栈
template
void linked_Stack::ins_linked_Stack(T x)
{
////////////////////////////////////////////此处要求填。
//申请一个新结点,置新结点数据域值,置新结点指针域值,栈顶指针指向新结点
node * new_top=new node;
if(new_top==NULL)
coutd=x;
coutd
T linked_Stack::del_linked_Stack()
{
//////////////////////////////////////////////////////////此处要求填
//栈顶元素赋给变量,栈顶指针指向下一个结点,释放结点空间,返回退栈的元素
if (top==NULL)
{
coutd;
top = top->next;
}
}
//读栈顶元素
template
T linked_Stack::read_linked_Stack()
{
///////////////////////////////////////////////////此处要求填。
//返回栈顶元素
if(top==NULL)
coutd;
}
//////////////////////题目:
1. 建立一个空的带链栈,然后依次将元素50、60、70、80、90、100入栈,输出栈中的元素。最后读栈顶元素,并连续3次做退栈运算,再输出栈中的元素。
运行结果如下:
输出栈中的元素:
100
90
80
70
60
50
栈顶元素:100
退栈元素:100
退栈元素:90
退栈元素:80
再次输出栈中的元素:
70
60
50
【注】不是简单的得出如上结果,我只是想知道为什么错了?
屡屡出现这样的错误

回复

使用道具 举报

千问 | 2011-4-18 16:44:33 | 显示全部楼层
哪里错了,你把错误的原因描述清楚先。
回复

使用道具 举报

千问 | 2011-4-18 16:44:33 | 显示全部楼层
应该是内存访问冲突,调试看看是不是有访问未初始化的指针?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行