C_DS_AIgo/linked_list_stack.c
Jdhggg 0fa5f049ab 基于链表的栈
使用链表实现了栈的基本功能
初始
入栈
出栈

Co-Authored-By: Jdhggg <111557398+Jdhggg@users.noreply.github.com>
2025-03-18 17:30:39 +08:00

34 lines
604 B
C

#include <stdio.h>
#include <stdlib.h>
#include "linked_list_stack.h"
// ³õʼջ
stack_linked* init_stack_linked(void)
{
stack_linked* s = (stack_linked*)malloc(sizeof(stack_linked));
s->top = NULL;
s->size = 0;
return s;
}
// ÈëÕ»
void push_stack_linked(stack_linked* s, int value)
{
stack_node* node = (stack_node*)malloc(sizeof(stack_node));
node->value = value;
node->next = s->top;
s->top = node;
s->size++;
}
// ³öÕ»
int pop_stack_linked(stack_linked* s)
{
int flog = 0;
flog = s->top->value;
stack_node* tmp = s->top;
s->top = s->top->next;
free(tmp);
tmp = NULL;
return flog;
}