【数据结构】栈的数组实现

    xiaoxiao2021-03-25  168

    1.栈的顺序存储实现 构建结构体Stack,其中数组Date存放栈中数据,Top存放栈顶元素的下标。对栈进行初始化时将Top赋值为-1,表示栈为空。MaxSize为栈的最大容量。

    #define MaxSize 10 typedef struct Stack{ int Date[MaxSize]; int Top; } Stack;

    2.进栈操作 进栈操作前应当先检查栈是否已满,避免溢出。

    void Push(Stack* PtrS, int item) \\将数据item压入栈中 { if(PtrS->Top == MaxSize-1){ printf("栈已满\n"); return; } else{ PtrS->Date[++PtrS->Top] = item; return; } }

    3.出栈操作 在进行出栈操作时应先检查栈是否为空。

    int Pop(Stack * PtrS) //从栈中弹出栈顶元素 { if(PtrS->Top == -1){ printf("栈已空\n"); return NULL; } else return PtrS->Date[PtrS->Top--]; }
    转载请注明原文地址: https://ju.6miu.com/read-6220.html

    最新回复(0)