学堂 学堂 学堂公众号手机端

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

lewis 1年前 (2024-03-22) 阅读数 8 #技术

以下是一个基本的顺序栈的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函数中,进行了栈的初始化、入栈、出栈等操作,并打印了一些信息。

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


版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门