数据结构之栈的使用

来源:互联网 发布:sql联合主键查询 编辑:程序博客网 时间:2024/05/29 11:32

话不多说 直接看代码

包含栈的初始化函数,添加元素,移除元素,检测是否为空栈以及输出栈顶元素。

#include#include#define ERROR 0;#define OK 1;typedef struct Stack{    int *elements;    int max_size,top_index;}Stack;void init(Stack *s,int length){     s->elements=(int *)malloc(sizeof(int)*length);    s->max_size=length;    s->top_index=-1;}int push(Stack* s, int element){    if (s->top_index >= s->max_size - 1) {        return ERROR;    }    s->top_index++;    s->elements[s->top_index] = element;    return OK;}int pop(Stack* s){    if(s->top_index < 0){        return ERROR;    }    s->top_index--;    return OK;}int top(Stack* s) {    if(s->top_index==-1){        return ERROR;    }    else{        return s->elements[s->top_index];    }}int empty(Stack* s){    if(s->top_index < 0){        return 1;    }    else{        return 0;    }}int main(){    int n;    scanf("%d",&n);    Stack* stack_a=(Stack *)malloc(sizeof(Stack));    init(stack_a,n);}



原创粉丝点击