数据结构 - 栈和队列(C语言实现)

本文详细介绍了栈和队列这两种数据结构,包括它们的定义、基本操作以及不同类型的实现,如顺序栈、共享栈、链栈、顺序队列、循环队列和链队列。通过实例展示了如何在C语言中实现这些数据结构的操作,如初始化、入栈、出栈、入队和出队等。
摘要由CSDN通过智能技术生成

一.

  1. 栈的定义

    (Stack)是一种只能在一端进行插入或删除操作的线性表
          栈的示意图
                  图一 栈的示意图

  2. 顺序栈的基本操作
    初始化

    void InitStack(Stack *S){
    	//初始化顺序栈即使栈顶指针为-1 
    	S->Top = -1;	
    } 
    

    栈判空

    int StackEmpty(Stack *S) {
    	//栈判空函数
    	if(S->Top == -1)	//栈空 
    		return 1;
    	else				//非空 
    		return 0; 
    }
    

    进栈

    int Push(Stack *S, int e){
    	//进栈函数
    	if(S->Top == StackMaxSize-1)//栈满
    		return ERROR; 
    	else{
    		S->Data[++(S->Top)] = e;	//栈顶指针加一,存储元素 
    		return OK; 
    	}
    } 
    

    出栈

    int Pop(Stack *S, int *e){
    	//出栈并将元素传给e 
    	if(S-
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值