链栈的基本操作

发布时间:2020-08-06 18:17:19 作者:岩枭
来源:网络 阅读:445

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

#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;

}


推荐阅读:
  1. 链栈-----栈的链式存储结构及其实现
  2. 栈的基本操作

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

空间 元素 return

上一篇:SecureCRT上传bash: rz: command not found

下一篇:且听AWR之父解读AWR报告

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》