数据结构,栈,链接表示

来源:互联网 发布:轩辕剑3天之痕 mac 编辑:程序博客网 时间:2024/06/13 11:10

创建一个空链栈

PLinkStack createEmptyStack_link(void){

PLinkStack plstack;

plstack=(PLinkStack)malloc(sizeof(struct LinkStack));

if(plstack!=NULL)

plstack->top=NULL;

else

printf("Out of space!\n");

return (plstack);

}


进栈

void push_link(PLinkStack plstack,DataType x)

{PNode p;

p=(PNode)malloc(sizeof(struct Node));

if(p==NULL)printf("Out of space!\n");

else 

{p->info=x;

p->link=plstack->top;

plstack->top=p;

}

}



出栈

void pop_link(PLinkStack plstack)

{PNode p;

if(isEmptyStack_link(plstack))

printf("Empty stack pop.\n");

else {

    p=plstack->top;

    plstack->top=plstack->top->link;

   free(p)

}

}




取栈顶元素

DataType top_link{PLinkStack plstack)

{if(plstack->top==NULL)

printf("Stack is  empty!\n");

else 

 return (plstack->top->info);

}





原创粉丝点击