数据结构中的栈与队列

Stack.h

#pragma once
#include<stdio.h>
#include<assert.h>
#include<stdbool.h>
#include<stdlib.h>
 
typedef int STDataType;
typedef struct Stack
{
    STDataType* a;
    int top;//栈顶
    int capacity;//栈的总容量
}ST;
 void STInit(ST* pst); //初始化栈
void STDestroy(ST* pst);//摧毁栈
void STPush(ST* pst, STDataType x);//插入数据
void STPop(ST* pst);//删除数据
STDataType STTop(ST* pst);//栈顶 元素
bool STEmpty(ST* pst);//判断 栈是否为空
int STSize(ST* pst);//栈的元素 个数

Stack.c 
 

队列

Queue.h

#pragma once
#include<stdio.h>
#include<assert.h>
#include<stdbool.h>
#include<stdlib.h>
 
typedef int QDataType;
typedef struct QueueNode
{
	QDataType data;
	struct QueueNode* next;
}QNode;
 
typedef struct Queue
{
	QNode* phead;
	QNode* ptail;
	int size;
}Queue;
void QueueInit(Queue* pq);//初始化队列
void QueueDestroy(Queue* pq);//摧毁队列
void QueuePush(Queue* pq,QDataType x);//插入队列
void QueuePop(Queue* pq);//删除队列
QDataType QueueFront(Queue* pq); //队列头部
QDataType QueueBack(Queue* pq);  //队列尾部
int QueueSize(Queue* pq);//查看队列的总长
bool QueueEmpty(Queue* pq);//判断队列为不为空

Queue.c

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值