【C语言数据结构】链栈-创新互联
LinkStack.h
成都创新互联公司提供成都网站设计、成都网站制作、网页设计,高端网站设计,1元广告等致力于企业网站建设与公司网站制作,十多年的网站开发和建站经验,助力企业信息化建设,成功案例突破上千余家,是您实现网站建设的好选择.#ifndef LINKSTACK_H #define LINKSTACK_H typedef void LinkStack; LinkStack* LinkStack_Create(); void LinkStack_Destroy(LinkStack* stack); void LinkStack_Clear(LinkStack* stack); int LinkStack_Push(LinkStack* stack, void* item); void* LinkStack_Pop(LinkStack* stack); void* LinkStack_Top(LinkStack* stack); int LinkStack_Size(LinkStack* stack); #endif // LINKSTACK_HLinkStack.c
#include "LinkStack.h" #include "LinkList.h" #include "malloc.h" typedef struct _tag_LinkStackNode { LinkListNode node; void *item; }TLinkStackNode; LinkStack* LinkStack_Create() { return LinkList_Create(); } void LinkStack_Destroy(LinkStack* stack) { LinkStack_Clear(stack); LinkList_Destroy(stack); } void LinkStack_Clear(LinkStack* stack) { while(LinkStack_Size(stack) > 0) { LinkStack_Pop(stack); } } int LinkStack_Push(LinkStack* stack, void* item) { TLinkStackNode *node = (TLinkStackNode *)malloc(sizeof(TLinkStackNode)); int ret = ((item != 0) && (node != 0)); if(ret) { node->item = item; ret = LinkList_Insert(stack,(LinkListNode *)node,0); } if(!ret) { free(node); } return ret; } void* LinkStack_Pop(LinkStack* stack) { TLinkStackNode *node = (TLinkStackNode *)LinkList_Remove(stack,0); void *ret = 0; if(node != 0) { ret = node->item; free(node); } return ret; } void* LinkStack_Top(LinkStack* stack) { TLinkStackNode *node = (TLinkStackNode *)LinkList_Remove(stack,0); void *ret = 0; if(node != 0) { ret = node->item; } return ret; } int LinkStack_Size(LinkStack* stack) { return LinkList_Length(stack); }另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
网页标题:【C语言数据结构】链栈-创新互联
文章起源:http://ybzwz.com/article/idosp.html