LinkStack.h

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