StarZZZZ5 2021-08-04 23:09 采纳率: 100%
浏览 19
已结题

我想创建一个栈,然后输入一个5,在输入一个5,然后打印这个栈,结果失败了

/*
创建一个栈 判断栈满栈空 出入栈 查看栈顶元素
*/
#include<stdio.h>
#include<stdlib.h>

typedef struct Stack
{
int *arr;//数组
int len;//栈的容量
int top;//栈顶指针
}Stack,*Sqstack;

//创建栈
Sqstack InitStack(Sqstack &S,int size)
{
S = (Sqstack)malloc(sizeof(Stack));
S->arr = (int *)malloc(sizeof(size));
S->len = size;
S->top = -1;
S->arr[0] = NULL;
return S;
}
bool StackEmpty(Sqstack &S)
{
if(S->top == -1)
{
return true;
}
else
{
return false;
}
}
bool Stackfull(Sqstack &S)
{
if(S->top+1 >= S->len )
{
return true;
}
else
{
return false;
}
}
bool push(Sqstack &S,int value)
{
if(Stackfull(S))
{
return false;
}
S->top+1;
S->arr[S->top] = value;
return true;

}
bool pop(Sqstack &S,int &value)
{
if(StackEmpty(S))
{
return false;
}
value = S->arr[S->top];
S->top--;
return true;
}
bool Getstack(Sqstack &S,int &value)
{
if(StackEmpty(S))
{
return false;
}
value = S->arr[S->top];
return true;
}
void Display(Sqstack &S)
{
for(S->top;S->top > -1;S->top--)
{
printf("%d ",S->arr[S->top]);
}
}

int main()
{
Sqstack S1;
InitStack(S1,5);
push(S1,5);
push(S1,5);
Display(S1);
int x;
Getstack(S1,x);
printf("%d ",x);

}

  • 写回答

1条回答 默认 最新

  • StarZZZZ5 2021-08-04 23:35
    关注

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 8月12日
  • 已采纳回答 8月4日
  • 创建了问题 8月4日

悬赏问题

  • ¥15 stm32代码移植没反应
  • ¥15 matlab基于pde算法图像修复,为什么只能对示例图像有效
  • ¥100 连续两帧图像高速减法
  • ¥15 组策略中的计算机配置策略无法下发
  • ¥15 如何绘制动力学系统的相图
  • ¥15 对接wps接口实现获取元数据
  • ¥20 给自己本科IT专业毕业的妹m找个实习工作
  • ¥15 用友U8:向一个无法连接的网络尝试了一个套接字操作,如何解决?
  • ¥30 我的代码按理说完成了模型的搭建、训练、验证测试等工作(标签-网络|关键词-变化检测)
  • ¥50 mac mini外接显示器 画质字体模糊