链栈的基本操作
2016-05-12 21:40
302 查看
链栈的基本操作实现代码如下:
#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;
}
#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;
}
相关文章推荐
- 空间两大拓展功能 引爆企业发展需求
- 空间支持多子网站 有效降低建站成本
- 奔月互联免费50m/5g/asp/ftp/可绑米空间
- 三维免费空间提供多款免费ASP空间(1G)
- 空间页面CSS说明
- C#实现将数组内元素打乱顺序的方法
- jQuery删除一个元素后淡出效果展示删除过程的方法
- jQuery拖动元素并对元素进行重新排序
- Perl中怎样从数组中删除某个值?
- 最省空间的计数器
- PHP的数组中提高元素查找与元素去重的效率的技巧解析
- PHP中return 和 exit 、break和contiue 区别与用法
- javascript学习笔记(十八) 获得页面中的元素代码
- javascript实现在某个元素上阻止鼠标右键事件的方法和实例
- jQuery验证元素是否为空的两种常用方法
- JavaScript实现获取某个元素相邻兄弟节点的prev与next方法
- 浅析return false的正确使用
- javascript中return,return true,return false三者的用法及区别
- jQuery on()绑定动态元素出现的问题小结
- jQuery经过一段时间自动隐藏指定元素的方法