数据结构——顺序栈

这篇博客展示了如何使用C语言定义一个顺序栈的数据结构,并实现了初始化、入栈、出栈和打印栈中元素的功能。主要关注C语言的基础数据操作和结构体的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include<stdio.h>
#include<stdlib.h>
#define MaxSize 10

//定义结构体
typedef struct SqStack{
	char data[MaxSize];
	int top;
}SqStack;

//初始化栈
void InitStack(SqStack *p){
	p->top = -1;    
}

//入栈
bool Push(SqStack *p,char x){
	if(p->top == MaxSize-1)
		return false;
	p->top = p->top+1;
	p->data[p->top] = x;
	return true;
}

//出栈
bool Pop(SqStack *p,char &x){
	if(p->top == -1)
		return false;
	x=p->data[p->top];
	p->top = p->top-1;
	return true;
}

//打印栈中元素
bool printStack(SqStack *p){
	int topp = p->top;
	while(p->top != -1){
		printf("%c\n",p->data[p->top]);
		p->top = p->top--;
	}
	p->top = topp;
	return true;
}


int main(){
	SqStack p;
	InitStack(&p);
	char x,y;
	Push(&p,x);
	Pop(&p,y);
	printStack(&p);
	return 0;

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值