数据结构第三章

本文详细探讨了数据结构课程中的第三章内容,涵盖了关键概念、算法实现和实例解析。通过阅读,读者可以深入理解数据结构的这一核心章节。
摘要由CSDN通过智能技术生成

1.

代码如下:

typedef struct
{
	int top[2],bot[2];		//栈顶和栈底指针 
	SElemType *V;		//栈数组 
	int m;		//栈最大可容纳元素个数 
}DblStack;

void StackInit(DblStack &S,int n)		//初始化栈,空间为n
{
	S.m = n;
	S.V = (SElemType *)malloc(siezof(SElemType)*n);		//开辟内存空间
	top[0] = -1;
	top[1] = n;
	bot[0] = 0;
	bot[1] = n-1;
}

bool IsEmpty(DblStack &S,int n)		//判断第n栈是否为空 
{
	switch(n)
	{
		case 0:
			if (top[0] == -1)
				return true;
			else
				return false;
		case 1:
			if (top[1] == n)
				return true;
			else
				return false;
	}
}

bool IsFull(DblStack &S)		//判断是否栈满 
{
	if (top[0] + 1 == top[1])
		return true;
	else
		return false;
}

void StackPush(DblStack &S,int n,SElemType t)		//第n个栈入栈操作 
{
	if (n == 0)
		S.V[++top[0]] = t;
	else
		S.V[--top[1]] = t;
}

void StackPop(DblStack &S,int n)		//第n个栈出栈 
{
	if (n == 0)
		top[0]--;
	else
		top[1]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值