用c语言描述栈的每种操作在顺序栈和链式栈上的实现算法
时间: 2023-06-05 21:47:57 浏览: 162
C语言 栈的实现,包含顺序栈和链栈,亲测可用
5星 · 资源好评率100%
顺序栈:
1. 初始化栈:定义一个数组和一个指针top,top指向-1表示栈为空。
2. 判断栈是否为空:判断top是否等于-1,如果是则栈为空。
3. 判断栈是否已满:判断top是否等于数组长度-1,如果是则栈已满。
4. 入栈操作:将元素插入数组中top+1的位置,top指针加1。
5. 出栈操作:将数组中top位置的元素弹出,top指针减1。
链式栈:
1. 初始化栈:定义一个头结点,头结点的指针域为空。
2. 判断栈是否为空:判断头结点的指针域是否为空,如果是则栈为空。
3. 入栈操作:新建一个结点,将元素存入结点中,将结点插入头结点后面。
4. 出栈操作:将头结点后面的结点删除,返回结点中存储的元素。
阅读全文