当前位置:   article > 正文

栈的链式存储结构(c语言实现)_c语言栈的的链式实现

c语言栈的的链式实现
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #define T 1
  4. #define F 0
  5. typedef int Status;
  6. typedef int ElemType;
  7. typedef struct StackNode//链式存储的结点
  8. {
  9. ElemType data;//数据域
  10. struct StackNode* next;//指针域
  11. }StackNode, *LinkStackPtr;
  12. typedef struct LinkStack//栈
  13. {
  14. LinkStackPtr top;//top即栈顶 放在单链表的头部,对于链栈来说不需要头结点
  15. int count;//栈的长度
  16. }LinkStack;
  17. void init(LinkStack* S);
  18. Status push(LinkStack* S, ElemType e);
  19. Status pop(LinkStack* S, ElemType* e);
  20. Status stackEmpty(LinkStack S);
  21. int main()
  22. {
  23. int i = 0, num = 0;
  24. LinkStack S;
  25. init(&S);
  26. for (; i < 10; i++)
  27. {
  28. push(&S, i);
  29. }
  30. for (; i > 0; i--)
  31. {
  32. pop(&S, &num);
  33. printf("%d\n", num);
  34. }
  35. return 0;
  36. }
  37. void init(LinkStack* S)//初始化为空栈
  38. {
  39. S->top = NULL;
  40. S->count = 0;
  41. }
  42. Status push(LinkStack* S, ElemType e)
  43. {
  44. //和链表一样正常创建结点
  45. LinkStackPtr s = (LinkStackPtr)malloc(sizeof(StackNode));
  46. s->data = e;
  47. s->next = S->top;//往
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/神奇cpp/article/detail/905911
推荐阅读
相关标签
  

闽ICP备14008679号