zoukankan
html css js c++ java
顺序栈的C语言实现
//
程 式 名: LinkStack.c
//
程式功能: 链栈的实现
//
功能描述: 置栈空、判栈空、压栈、出栈、取栈顶元素
#include
<
stdio.h
>
#include
<
stdlib.h
>
//
包含exit();
typedef
char
DataType;
//
假定数据类型为字符
typedef
struct
stacknode
{
DataType data;
struct
stacknode
*
next;
}
StackNode;
typedef
struct
{
StackNode
*
top;
//
栈顶指针
}
LinkStack;
//
置栈空
void
Initial(LinkStack
*
s)
{
s
->
top
=
0
;
}
//
判栈空
int
IsEmpty(LinkStack
*
s)
{
return
s
->
top
==
0
;
}
//
压栈
void
Push(LinkStack
*
s, DataType x)
{
//
将元素x插入链栈头部
StackNode
*
p
=
(StackNode
*
)malloc(
sizeof
(StackNode));
p
->
data
=
x;
p
->
next
=
s
->
top;
s
->
top
=
p;
}
//
出栈
DataType Pop(LinkStack
*
s)
{
DataType x;
StackNode
*
p
=
s
->
top;
if
(IsEmpty(s))
{
printf(
"
栈为空\n
"
);
exit(
1
);
}
x
=
p
->
data;
s
->
top
=
p
->
next;
free(p);
return
x;
}
//
取栈顶元素
DataType Top(LinkStack
*
s)
{
if
(IsEmpty(s))
{
printf(
"
栈为空\n
"
);
exit(
1
);
}
return
s
->
top
->
data;
}
void
main()
{
LinkStack s;
DataType first,sec;
Initial(
&
s);
Push(
&
s,
'
a
'
);
Push(
&
s,
'
b
'
);
first
=
Top(
&
s);
Pop(
&
s);
sec
=
Top(
&
s);
printf(
"
%c,%c\n
"
, first, sec);
}
查看全文
相关阅读:
关于'selffilter' is not a registered tag library. Must be one of:
关于Django报错django.core.exceptions.ImproperlyConfigured: Requested setting DEBUG, but settings are not configure
大杂烩
PyQt5多个GUI界面设计
OpenCV读取图像问题:OpenCV(3.4.3) D:BuildOpenCVopencv-size.width0 && size.height0 in function 'cvimshow'
MOOC课程信息D3.js动态可视化
详解教务系统模拟登录与爬取二
教务系统模拟登录与成绩爬取一
pyecharts各省人口GDP可视化分析
python爬虫伪装技术应用
原文地址:https://www.cnblogs.com/zhangyin/p/587552.html
最新文章
生物信息gtf文件下载
基因组组装软件SOAPdenovo的使用方法
python中的迭代器和生成器
git &github 快速入门
centos下安装并使用PureFtpd
进制转换(各进制的原理)
python面向对象中的__init__方法怎么理解?
R语言基础绘图
top:查看CPU利用率及多核CPU每个核心的使用率
如何查询linux下BIOS信息
热门文章
linux命令brctl命令
常用的virsh管理命令
更改printk打印级别
更新2020 pycharm证书到期your license has expired
Django之ORM进阶
Django之ORM初识
关于No migrations to apply.
Django的路由系统
Django的views视图系统
djiango的模板语言(template)
Copyright © 2011-2022 走看看