问题:实现栈的基本操作,内容包括栈的结构体,栈的初始化,栈的销毁,进栈操作及出栈操作
//结构体
typedef struct MyStack
{
ElemType *top;
ElemType *base;
int stacksize;
}MyStack;//
栈的初始化
MyStack* InitStack()
{
MyStack *stack;
stack = (MyStack *)malloc(sizeof(MyStack));
stack->stacksize = INIT_SIZE;
stack->base = (ElemType *)malloc(sizeof(ElemType)*INIT_SIZE);
stack->top = stack->base;
return stack;
}//
栈的销毁
void DestroyStack(MyStack *stack)
{
if(stack!=NULL)
{
free(stack->base);
f

本文探讨如何在C语言中实现栈的基本操作,包括结构体定义、栈的初始化与销毁、进栈和出栈操作。栈采用顺序存储结构,通过判断栈顶与栈底的相对位置来确定栈是否已满,并特别指出在处理double型变量时要考虑其占据的空间。由于C语言不支持引用参数,因此在函数中使用指针来传递信息。
最低0.47元/天 解锁文章
1157

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



