数组实现栈

兔老大 发表于 2021/04/20 01:25:02 2021/04/20
【摘要】 学习了改进,利用define typedef比上次写的链表更容易改变功能,方便维护,代码更健壮。 大佬别嫌弃,萌新总是很笨,用typedef都想不到。 #include<stdio.h>#include<stdbool.h>#define maxsize 10typedef int datatype;typedef struct stack{ da...

学习了改进,利用define typedef比上次写的链表更容易改变功能,方便维护,代码更健壮。

大佬别嫌弃,萌新总是很笨,用typedef都想不到。


  
  1. #include<stdio.h>
  2. #include<stdbool.h>
  3. #define maxsize 10
  4. typedef int datatype;
  5. typedef struct stack
  6. {
  7. datatype data[maxsize];
  8. int top;
  9. }Stack;
  10. Stack s;
  11. void init()//初始化
  12. {
  13. s.top=-1;
  14. }
  15. int Empty()//是否空
  16. {
  17. if(s.top==-1)return 1;
  18. return 0;
  19. }
  20. int full()//是否满
  21. {
  22. if(s.top==maxsize-1)return 1;
  23. return 0;
  24. }
  25. void Push(datatype element)//入栈
  26. {
  27. if(!full()){
  28. s.top++;
  29. s.data[s.top]=element;
  30. }
  31. else printf("栈满\n");
  32. }
  33. void Pop()//出栈
  34. {
  35. if(!Empty()) s.top--;
  36. else printf("栈空\n");
  37. }
  38. datatype Top()//取栈顶元素
  39. {
  40. if(!Empty()) return s.data[s.top];
  41. printf("栈空\n");
  42. }
  43. void Destroy()//销毁
  44. {
  45. s.top=-1;
  46. }

测试不写了。

文章来源: fantianzuo.blog.csdn.net,作者:兔老大RabbitMQ,版权归原作者所有,如需转载,请联系作者。

原文链接:fantianzuo.blog.csdn.net/article/details/81286583

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:cloudbbs@huaweicloud.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。