1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/editso-timely-lang

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
stack.c 989
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
zy Отправлено 31.08.2020 10:28 b2028ec
//
// Created by zy on 8/13/20.
//
#include "include/stack.h"
#include "include/list.h"
#include <stdlib.h>
/**
* 创建一个 stack
* @return 返回指向该stack的指针
*/
Stack* new_stack(){
Stack* stack = malloc(sizeof(Stack));
stack->size = 0;
stack->container = new_list();
return stack;
}
/**
* 从栈顶弹出一个元素
* @param stack 指向该stack的指针
* @return 如果有返回该元素,否则 0
*/
void* stack_pop(Stack* stack){
void* value = list_remove(stack->container, stack->size - 1);
stack->size--;
return value;
}
/**
* 压入栈
* @param stack 指向该stack的指针
* @param el 该栈的元素
*/
void stack_push(Stack* stack, void* el){
list_insert(stack->container, stack->size, el);
stack->size++;
}
/**
* 查看栈顶元素
* @param stack 指向该stack的指针
* @return 如果有返回该元素,否则 0
*/
void* stack_peek(Stack* stack){
return list_get(stack->container, stack->size - 1);
}

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/editso-timely-lang.git
git@api.gitlife.ru:oschina-mirror/editso-timely-lang.git
oschina-mirror
editso-timely-lang
editso-timely-lang
master