链栈的入栈、出栈、获取长度、获取栈顶值等相关操作

本文详细介绍了如何实现链栈的常见操作,包括入栈、出栈、查询栈的长度以及获取栈顶元素的值。通过示例代码展示了在C++中创建链栈的头文件lstack.h和实现文件lstack.cpp的具体步骤。
摘要由CSDN通过智能技术生成

创建lstack.h

#pragma once
//链式栈:利用带头节点的单链表实现
//栈顶为第一个数据结点,因为:头插O(1),头删:O(1),有尾指针的的尾插:O(1),有尾指针的尾删O(n)

typedef struct SNode
{
   
 int data;
 struct SNode *next;
}SNode,*PLStack;//注意:链式栈不需要top,因为头结点的next即为top

//初始化栈
void InitStack(PLStack ps);

//入栈
bool Push(PLStack ps,int val);

//出栈,获取栈顶值,并删除栈顶元素
bool Pop(PLStack ps,int *rtval);//rtval:输出参数

//获取栈顶值,但不删除
bool GetTop(PLStack ps,int *rtval);

//判空
bool IsEmpty(PLStack ps);

//获取长度
int GetLength(PLStack ps);

//清除数据
void
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值