栈的组织形式:

如上图所示:栈也是有多个数据节点组成的,每个节点包含有数据域和指向下一个节点的指针域。并且每次的push、pop和判空都是操作的栈顶指针top。
栈中每个数据节点的定义:
class data_node{
public:
data_node() :data(0), next(NULL){}//default constructer function
data_node(int value) :data(value), next(NULL){}//include arg constructer function
int data;
data_node *next;//pointer that point to next node
};
栈的类的定义:
class my_stack{
public:
my_stack() :top(NULL){}
void push(data_node new_data);
void pop(data_node *pop_node);
bool empty();
data_node *top;
};
栈的push操作:
void my_stack::push(data_node new_data)
{
data_node *pnode = NULL;
pnode = new data_node(new_data.data);
pnode->next = top;
top = pnode;
}
void my_

9万+

被折叠的 条评论
为什么被折叠?



