码迷,mamicode.com
首页 > 其他好文 > 详细

链栈的基本操作

时间:2016-05-13 15:42:16      阅读:342      评论:0      收藏:0      [点我收藏+]

标签:return   空间   元素   

链栈的基本操作实现代码如下:

#include<iostream>

using namespace std;

#define TRUE 1

#define FALSE 0


//链栈的结构

typedef struct node

{

int data;

struct node *next;

}LinkStackNode;

typedef LinkStackNode *LinkStack;


//链栈进栈

int Push(LinkStack top, int x)//将数据元素x压入栈top中

{

LinkStackNode *temp;

temp = (LinkStackNode *)malloc(sizeof(LinkStackNode));

if (temp==NULL)//申请空间失败

{

return FALSE;

}

temp->data= x;

temp->next = top->next;

top->next = temp;//修改当前栈顶指针

return TRUE;

}


//链栈出栈

int Pop(LinkStack top, int *x)//将栈top的栈顶元素弹出,放到x所指的存储空间中

{

LinkStackNode *temp;

temp = top->next;

if (temp == NULL)//栈为空

{

return FALSE;

}

top->next = temp->next;

*x=temp->data ;

free(temp);//释放存储空间

return TRUE;

}


本文出自 “岩枭” 博客,请务必保留此出处http://yaoyaolx.blog.51cto.com/10732111/1772833

链栈的基本操作

标签:return   空间   元素   

原文地址:http://yaoyaolx.blog.51cto.com/10732111/1772833

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!