栈和列队

Posted wy9264

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了栈和列队相关的知识,希望对你有一定的参考价值。

栈(Stack)是一种重要的线性结构,是后进先出(Last in first out,LIFO)的数据结构。它要求只在表尾进行删除和插入操作。

表尾称为栈的栈顶(top),相应的表头称为栈底(bottom)。

typedef struct
{
    ElemType *base;//栈底
    ElemType *top;
    int stacksize;//最大容量
}sqStack;
#define STACK_INIT_SIZE  100
initStack(sqStack *s)
{
    s->base = (ElemType *)malloc(STACK__INIT_SIZE*sizeof(ElemType));
    if( !s->base)
       exit(0);
    s->top = s->base;//最开始,栈顶就是栈底
    s->stackSize = STACK_INIT_SIZE;
}

 

出栈操作
Pop(sqStack *s, ElemType *e)
{
    if( s->top == s->base )
         return;
    *e = *--(s->top)
}

以上是关于栈和列队的主要内容,如果未能解决你的问题,请参考以下文章

片段回栈和替换

[程序员代码面试指南]栈和队列-生成窗口最大值数组(双端队列)

并发系统数据细节-列队

しろは的军训列队

RabbitMQie消息列队整理

stm带裂点splay 列队