设为首页 加入收藏

TOP

动态顺序栈的C语言实现(二)
2014-11-23 21:36:06 来源: 作者: 【 】 浏览:36
Tags:动态 顺序 语言 实现
个数
value为欲压栈的数值
*返 回 值:空
********************************************************/
void seqstack_push(malloc_seqstack *p_stack, int length, eletype value)
{
eletype *p_tmp = p_stack->p_bottom;

if (seqstack_full(p_stack))
{
printf("栈已满,系统将为其增加空间!\n");

p_stack->p_bottom =
(eletype *)realloc(p_stack->p_bottom, length*sizeof(eletype));

if (!p_stack->p_bottom)
{
free(p_tmp);
exit(-1);
}
p_stack->stack_size = length;
}
(p_stack->p_top)++;
*(p_stack->p_top) = value;

return;
}

/********************************************************
*函数名称:seqstack_pop
*函数功能:出栈
*入口参数:p_stack为指向结构体指针
*返 回 值:value为出栈数据
********************************************************/
eletype seqstack_pop(malloc_seqstack *p_stack)
{
eletype value = 0;

if (seqstack_empty(p_stack))
{
printf("栈已空!\n");
exit(-1);
}
value = *(p_stack->p_top--);

return value;
}

/********************************************************
*函数名称:seqstack_destroy
*函数功能:销毁栈
*入口参数:p_stack为指向结构体指针
*返 回 值:空
********************************************************/
void seqstack_destroy(malloc_seqstack *p_stack)
{
free(p_stack->p_bottom);
free(p_stack);
p_stack->stack_size = 0;
p_stack->p_bottom = NULL;
p_stack->p_top = NULL;
p_stack = NULL;

return;
}

/***********************程序结束************************/


程序运行结果:


动态顺序栈的C语言实现


栈越界时提示的错误信息:


动态顺序栈的C语言实现


C语言梳理一下,分布在以下10个章节中:


首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇[Python]xlrd 读取excel 日期类型.. 下一篇详解realloc函数的功能——C语言..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: