首页>>帮助中心>>香港vps服务器的c语言怎么编写一个基本的顺序栈

香港vps服务器的c语言怎么编写一个基本的顺序栈

2024/2/19 405次

以下是香港vps服务器的一个基本的顺序栈的C语言实现示例:

#include <stdio.h>

#include <stdlib.h>

#define MAX_SIZE 100

typedef struct {

int data[MAX_SIZE];

int top;

} Stack;

void initStack(Stack *s) {

s->top = -1;

}

int isEmpty(Stack *s) {

return s->top == -1;

}

int isFull(Stack *s) {

return s->top == MAX_SIZE - 1;

}

void push(Stack *s, int value) {

if (isFull(s)) {

printf("Stack is full\n");

return;

}

s->top++;

s->data[s->top] = value;

}

int pop(Stack *s) {

if (isEmpty(s)) {

printf("Stack is empty\n");

return -1;

}

int value = s->data[s->top];

s->top--;

return value;

}

int peek(Stack *s) {

if (isEmpty(s)) {

printf("Stack is empty\n");

return -1;

}

return s->data[s->top];

}

int main() {

Stack stack;

initStack(&stack);

push(&stack, 10);

push(&stack, 20);

push(&stack, 30);

printf("Top element: %d\n", peek(&stack));

printf("Popped element: %d\n", pop(&stack));

printf("Popped element: %d\n", pop(&stack));

printf("Popped element: %d\n", pop(&stack));

printf("Is stack empty: %s\n", isEmpty(&stack) ? "true" : "false");

return 0;

}

复制代码

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

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

一诺网络香港免备案专区,提供「香港增强VPS」和「香港特惠VPS」两种类型的高可用弹性计算服务,搭载新一代英特尔®至强®铂金处理器,接入CN2低延时高速回国带宽线路,网络访问顺滑、流畅。机房网络架构采用了BGP协议的解决方案可提供多线路互联融合网络,使得不同网络运营商线路的用户都能通过最佳路由实现快速访问。香港云VPS低至29/月,购买链接:https://www.enuoidc.com/vps.html?typeid=2