当前位置:   article > 正文

c语言 栈和队列的实现_c语言创建栈和队列

c语言创建栈和队列

前提知识

顺序表

优点:可以随机访问,cpu高速缓存利用率高,不涉及(较少)进行插入和删除操作,应该使用顺序表

一般而言,我们使用顺序表(数组)的形式建立 栈这一数据结构。

 


栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。

其特点是先进后出,模仿c++stl的stack和queue,我们用c语言实现这2个数据结构 。

较为常用的,栈只能对栈顶进行操作,而且鉴于加载缓存的因素,我们可以使用动态开辟线性表的方式实现

  1. #pragma once
  2. #define N 100
  3. typedef int DataType;
  4. #include <assert.h>
  5. #include <stdio.h>
  6. typedef struct Stack//动态栈
  7. {
  8. DataType* _array;//
  9. int _top; // 表示有效元素个数 表示栈顶位置
  10. int _capcity;
  11. }Stack;
  12. //初始化
  13. void StackInit(Stack* ps);
  14. // 入栈
  15. void StackPush(Stack* ps, DataType data);
  16. // 出栈
  17. void StackPop(Stack* ps);
  18. // 获取栈顶元素
  19. DataType StackTop(Stack* ps);
  20. // 有效元素的个数
  21. int StackSize(Stack* ps);
  22. // 检测栈是否为空
  23. int StackEmpty(Stack* ps);
  24. void StackInit(St
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/598467
推荐阅读
相关标签
  

闽ICP备14008679号