LinkStack.h
成都創新互聯云計算的互聯網服務提供商,擁有超過13年的服務器租用、資陽托管服務器、云服務器、虛擬空間、網站系統開發經驗,已先后獲得國家工業和信息化部頒發的互聯網數據中心業務許可證。專業提供云主機、虛擬空間、域名注冊、VPS主機、云服務器、香港云服務器、免備案服務器等。
#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_H
LinkStack.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); }
網頁標題:【C語言數據結構】鏈棧
分享網址:http://vcdvsql.cn/article38/gghspp.html
成都網站建設公司_創新互聯,為您提供響應式網站、做網站、定制網站、軟件開發、網站維護、網站營銷
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯