【经典回放】多种语言系列数据结构算法:栈(C版)

本文详细介绍了栈这种数据结构的基本原理和C语言实现,包括栈的初始化、进栈、出栈等操作。文章还探讨了栈在个位数四则混合计算、中缀表达式转后缀表达式等问题中的应用,并提供了相应的算法分析和程序实现。此外,还讨论了如何将递归调用转化为非递归运算,以提高计算效率。
摘要由CSDN通过智能技术生成

本文采用C语言实现栈结构算法并举例应用。

栈的基本原理分析


作为栈这种数据结构,数据是进行所谓的先进后出操作,但栈在操作中,并不需要在中间插入删除操作、一般也不需要在进栈数据中查找什么,这种情况下,恰恰是顺序表可以完成的非常好的场合,所以栈经常是用一个简单的数组即可完成。

#include<stdio.h>
int s[100];
int top=0;
void push(int e)
{
	s[top]=e;
	top++;
}
int pop()
{
	top--;
	return s[top];
}
main()
{
	int i;
	for(i=0;i<10;i++)
		push(i);
	for(i=0;i<10;i++)
		printf("%d\n",pop());
}

这个程序就能完成最简单的栈的程序,原理也很简单。

对栈的应用,比如把10

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘一哥GIS

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值