意见箱
恒创运营部门将仔细参阅您的意见和建议,必要时将通过预留邮箱与您保持联络。感谢您的支持!
意见/建议
提交建议

以下是一个基本的顺序栈的C语言实现示例: #include<stdio.h> #include

来源:恒创科技 编辑:恒创科技编辑部
2024-02-19 13:56:00

以下是一个基本的顺序栈的C语言实现示例:

#include<stdio.h> #include<stdlib.h> #defineMAX_SIZE100 typedefstruct{ intdata[MAX_SIZE]; inttop; }Stack; voidinitStack(Stack*s){ s->top=-1; } intisEmpty(Stack*s){ returns->top==-1; } intisFull(Stack*s){ returns->top==MAX_SIZE-1; } voidpush(Stack*s,intvalue){ if(isFull(s)){ printf("Stackisfull\n"); return; } s->top++; s->data[s->top]=value; } intpop(Stack*s){ if(isEmpty(s)){ printf("Stackisempty\n"); return-1; } intvalue=s->data[s->top]; s->top--; returnvalue; } intpeek(Stack*s){ if(isEmpty(s)){ printf("Stackisempty\n"); return-1; } returns->data[s->top]; } intmain(){ Stackstack; initStack(&stack); push(&stack,10); push(&stack,20); push(&stack,30); printf("Topelement:%d\n",peek(&stack)); printf("Poppedelement:%d\n",pop(&stack)); printf("Poppedelement:%d\n",pop(&stack)); printf("Poppedelement:%d\n",pop(&stack)); printf("Isstackempty:%s\n",isEmpty(&stack)?"true":"false"); return0; }

这段代码定义了一个基本的顺序栈数据结构,包括初始化栈、判断栈是否为空或满、入栈、出栈、获取栈顶元素的操作。在main函数中,进行了栈的初始化、入栈、出栈等操作,并打印了一些信息。

您可以根据自己的需求对该代码进行修改和扩展。




以下是一个基本的顺序栈的C语言实现示例:
#include<stdio.h>
#include

上一篇: 在C#中,set是一个关键字,用于定义类的属性的访问器方法之一 下一篇: Jenkins可以与Kubernetes集成,实现自动部署到Kubernetes集群的功能